主要內容:
〇、項目結構
一、創建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調試接口