认清现实,放弃幻想,准备斗争
一、积分等级列表接口
1、编写积分等级管理接口
在controller中添加admin包,添加AdminIntegralGradeController类
@CrossOrigin
@RestController
@RequestMapping("/admin/core/integralGrade")
public class AdminIntegralGradeController {
@Resource
private IntegralGradeService integralGradeService;
@GetMapping("/list")
public List<IntegralGrade> listAll(){
return integralGradeService.list();
}
}
2、测试
重启服务,访问: http://localhost:8110/admin/core/integralGrade/list 查看结果json数据
二、逻辑删除接口
1、添加删除方法
AdminIntegralGradeController添加removeById方法
@DeleteMapping("/remove/{id}")
public boolean removeById(@PathVariable Long id){
return integralGradeService.removeById(id);
}
BUG排除
工程的pom文件变成灰色,表示忽略处理,这个玩意一般是你删掉的创建的工程不够干净,然后又重建了一个工程(同名),
原因:
新建的模块名与之前删除过的模块重名了,此时IDEA会认为此Project中需要排除该Module,可能就会导致pom文件变成灰色。
解决方案:
路径:Setting→Build Tools→Maven->Ignored Files ,找到被打勾忽略的Module,然后将Ignored Files中的打勾去掉即可。
三、配置Swagger2
1、Swagger2配置文件
在service-base中创建Swagger2Config
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket adminApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("adminApi")
.apiInfo(adminApiInfo())
.select()
//只显示admin路径下的页面
.paths(Predicates.and(PathSelectors.regex("/admin/.*")))
.build();
}
private ApiInfo adminApiInfo(){
return new ApiInfoBuilder()
.title("尚融宝后台管理系统-API文档")
.description("本文档描述了尚融宝后台管理系统接口")
.version("1.0")
.contact(new Contact("Helen", "http://atguigu.com", "55317332@qq.com"))
.build();
}
}
2、查看Swagger文档
重启服务器查看接口文档:http://localhost:8110/swagger-ui.html
3、常见注解
实体类注解:entity的实体类中可以添加一些自定义设置,例如:
@ApiModelProperty(value = "创建时间", example = "2019-01-01 8:00:00")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间", example = "2019-01-01 8:00:00")
private LocalDateTime updateTime;
这个可以在swagger测试里面如果需要传jsion对象的时候默认,这俩个属性将有俩个默认的值
controller注解:
定义在类上
@Api(tags = "积分等级管理")
定义在方法上
@ApiOperation("积分等级列表")
@ApiOperation(value = "根据id删除积分等级", notes = "逻辑删除")
定义在参数上
@ApiParam(value = "数据id", required = true, example = "100")
如果想要以不同的页面展示不同的接口文档,可以进行分组,比如想管理端的文档和web端的文档进行分开,可以进行分组处理
@Configuration
@EnableSwagger2
public class Swagger2Config {
private ApiInfo ApiConfig(){
return new ApiInfoBuilder().title("尚融宝后台管理系统API文档")
.description("本文本描述了尚融宝后台管理系统的各个模块的调用方式")
.version("1.6")
.contact(new Contact("helen","http://atguigu.com","admin@atguigu.com"))
.build();
}
@Bean
public Docket apiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(ApiConfig())
.groupName("adminApi").select()
.paths(Predicates.and(PathSelectors.regex("/admin/.*")))
.build();
}
private ApiInfo webApiConfig(){
return new ApiInfoBuilder().title("尚融宝网站管理系统API文档")
.description("本文本描述了尚融宝网站系统的各个模块的调用方式")
.version("1.6")
.contact(new Contact("helen","http://atguigu.com","admin@atguigu.com"))
.build();
}
@Bean
public Docket webAopConfig()
{
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(webApiConfig())
.groupName("webApi").select()
.paths(Predicates.and(PathSelectors.regex("/api/.*")))
.build();
}
}