Springboot编写restful接口demo
package org.alshat.so.admin.web;
import org.alshat.so.core.util.ResponseUtil;
import org.alshat.so.db.domain.MonProject;
import org.alshat.so.db.service.MonProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/mon/project")
@Validated
public class MonProjectController {
@Autowired
private MonProjectService monProjectService;
//项目列表(分页)
@GetMapping("page")
public Object page(String name,
@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size
){
List<MonProject> list = monProjectService.page(name,page,size);
int total = monProjectService.count(name);
Map<String, Object> data = new HashMap<>();
data.put("total", total);
data.put("items", list);
return ResponseUtil.ok(data);
}
//项目列表
@GetMapping("")
public Object list(){
List<MonProject> list = monProjectService.list();
return ResponseUtil.ok(list);
}
//获取项目
@GetMapping("{id}")
public Object list(@PathVariable String id){
MonProject project = monProjectService.info(id);
return ResponseUtil.ok(project);
}
//添加项目
@PostMapping("")
public Object add(@RequestBody MonProject monProject){
try{
List<MonProject> list = monProjectService.checkName(monProject);
if(list.size()>0){
return ResponseUtil.fail(409,"已存在相同项目名");
}
if(monProjectService.add(monProject)>0){
return ResponseUtil.ok();
}else {
return ResponseUtil.errorAction();
}
}catch (Exception e){
return ResponseUtil.errorAction();
}
}
//修改项目
@PutMapping("{id}")
public Object update(@PathVariable String id,@RequestBody MonProject monProject){
try{
monProject.setId(id);
if(monProjectService.update(monProject)>0){
return ResponseUtil.ok();
}else {
return ResponseUtil.errorAction();
}
}catch (Exception e){
return ResponseUtil.errorAction();
}
}
//删除项目
@DeleteMapping("{id}")
public Object delete(@PathVariable String id){
try{
if(monProjectService.delete(id)>0){
return ResponseUtil.ok();
}else {
return ResponseUtil.errorAction();
}
}catch (Exception e){
return ResponseUtil.errorAction();
}
}
}