[spring boot] 04 簡單demo_2 - 編寫controller,vo,dto,postman調試


主要內容:

    〇、項目結構

    一、創建vo

    二、創建dto

    三、創建util

    四、創建controller

    五、postman調試

 

〇、項目結構

 

 

一、創建vo

 1.1. 新建vo包(在com.example.demo下)

 

 1.2. 在vo下新建class - ResultVO

@Data
public class ResultVO<T> {

    /** 錯誤碼. */
    private Integer code;

    /** 提示信息. */
    private String msg = "";

    /** 具體內容. */
    private T data;

}

注:該vo為通用vo,用於接口返回的統一輸出格式

 

 1.3. 在vo下新建包moduleInfo,並新建ModuleInfoDetailVO

@Data
public class ModuleInfoDetailVO {

    private Integer id;

    @JsonProperty("name")
    private String moduleName;

}

注:

@JsonProperty:用於指定response返回的key值

 

 

二、創建dto

 2.1. 新建dto包(在com.example.demo下)

 

 2.2. 在dto下,新建ByIdDTO

@Data
public class ByIdDTO {

    private Integer id;

}

注:該dto為通用dto,用於所有根據id傳值的所有請求

 

 

三、創建util

 3.1. 新建util包(在com.example.demo下)

 

 3.2. 在util下新建ResultVOUtil

public class ResultVOUtil {

    public static ResultVO success(Object object) {
        ResultVO resultVO = new ResultVO();
        resultVO.setData(object);
        resultVO.setCode(0);
        resultVO.setMsg("成功");
        return resultVO;
    }

    public static ResultVO success() {
        return success(null);
    }

    public static ResultVO error(Integer code, String msg) {
        ResultVO resultVO = new ResultVO();
        resultVO.setCode(code);
        resultVO.setMsg(msg);
        return resultVO;
    }

}

 

 

四、創建controller

 4.1. 新建controller包(在com.example.demo下)

 

 4.2. 在controller下新建ModuleInfoController

@RestController
@RequestMapping("/module")
public class ModuleInfoController {

    @Autowired
    ModuleInfoService service;

    @PostMapping(path = "/detail",
            consumes = "application/json;charset=UTF-8", produces = "application/json;charset=UTF-8")
    public ResultVO detail(@RequestBody ByIdDTO byIdDTO) {
        ModuleInfo moduleInfo = service.findByModuleId(byIdDTO.getId());
        ModuleInfoDetailVO moduleInfoDetailVO = new ModuleInfoDetailVO();
        BeanUtils.copyProperties(moduleInfo, moduleInfoDetailVO);

        return ResultVOUtil.success(moduleInfoDetailVO);
    }

}

注:

@RestController:標為返回為ResponseBody的請求

@RequestMapping:設置這個contorller的訪問名

@PostMapping:設置這個接口的訪問名

 

 

五、postman調試

 5.1. 在application.yml中增加統一訪問前綴:/api

server:
  port: 7779
  servlet:
    context-path: /api

 

 5.2. 打開postman調試接口

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM