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();
        }
    }
}

 

Springboot编写restful接口demo