后端API书写规范
1.controller
controller不掺杂复杂的逻辑代码
@Slf4j
@Api(tags = "模块名字")
@RestController
@RequestMapping("/XXX")
public class XXXXController {
//GET单参数
@ApiOperation(value = "接口名称" , notes = "接口描述")
@ApiImplicitParam(name = "参数名字" , value = "参数描述" , dataType = "参数数据类型(默认string,可填int,boolean)" , required = "是否必填(默认false)")
@GetMapping("/XXX")
public XXX XXX(@RequestParam(name = "参数名字" , required = "是否必填(默认true)") String 参数名字){
return null;
}
//GET多参数
@ApiOperation(value = "接口名称" , notes = "接口描述")
@ApiImplicitParams({
@ApiImplicitParam(name = "参数名字" , value = "参数描述" , dataType = "参数数据类型(默认string,可填int,boolean)" , required = "是否必填(默认false)") ,
@ApiImplicitParam(name = "参数名字" , value = "参数描述" , dataType = "参数数据类型(默认string,可填int,boolean)" , required = "是否必填(默认false)")
})
@GetMapping("/XXX")
public XXX XXX(@RequestParam(name = "参数名字" , required = "是否必填(默认true)") String 参数1 , @RequestParam(name = "参数名字" , required = "是否必填(默认true)") String 参数2){
return null;
}
//POST
@ApiOperation(value = "接口名称" , notes = "接口描述")
@ApiImplicitParam(name = "对象名字" , value = "对象描述" , dataType = "query" , required = "是否必填(默认false)")
@GetMapping("/XXX")
public XXX XXX(@RequestBody(name = "对象名字" , required = "是否必填(默认true)") 对象 对象){
return null;
}
}
2.实体类entity
@Data
public class UserInfo {
@ApiModelProperty(value = "参数名字描述" , required = "是否必填(默认false)")
private String XXXX;
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "时间参数描述")
private Date XXXTime;
3.Service接口类
public interface XXXService {
/**
* 接口描述
* @param XXX 参数说明
* @return
*/
XXX XXX(String XXX);
4.ServiceImpl
@Service
public class XXXImpl implements XXXService {
@Autowired
private XXX XXX;
@Override
public XXX XXX(String XXX) {
//进行业务逻辑处理
//复杂的业务需要加入注释
return null;
}
5.常量都写在CommonConstant类中
避免直接输入常量值
6.不需登录的接口地址加入都ShiroConfig类中
未完待续~~~