knife4j
依赖
父工程:
<!-- Knife4j swagger增强 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.7</version>
</dependency>
使用
直接访问:http://127.0.0.1:13001/doc.html
此时我们会发现什么也没有,因为我们在Swagger上设置了账号密码,所以使用步骤为:
- 访问 http://127.0.0.1:13001/swagger-ui.html 输入账号密码,成功进入后
- 再访问 http://127.0.0.1:13001/doc.html 此时就没有问题了。
界面效果:
建议:开发时,建议将登录验证关闭,方便开发
示例代码
/**
* @author CV大魔王
* @Description 文章模块 - 控制层
* @date 2021/2/21 14:35
*/
@Api("模块管理接口")
@RestController
@RequestMapping("/category")
public class CategoryController {
@Autowired
private ICategoryService categoryService;
@ApiOperation("分页条件查询模块接口")
@PostMapping("/search")
public IPage<Category> search(@RequestBody CategoryREQ req) {
return categoryService.queryPage(req);
}
@ApiOperation("获取所有正常状态模块接口")
@PostMapping("/list")
public List<Category> list() {
return categoryService.findAllNormal();
}
@ApiOperation("根据id查询模块接口")
@ApiImplicitParam(name = "id", value = "模块id", required = true)
@GetMapping("/{id}")
public Category selectCategoryById(@PathVariable String id) {
return categoryService.getById(id);
}
@ApiOperation("修改模块接口")
@PutMapping
public Result update(@RequestBody Category category) {
categoryService.updateById(category);
return Result.ok("更新成功");
}
@ApiOperation("添加模块接口")
@PostMapping
public Result save(@RequestBody Category category) {
categoryService.save(category);
return Result.ok("添加成功");
}
@ApiOperation("删除模块接口")
@ApiImplicitParam(name = "id", value = "模块id", required = true)
@DeleteMapping("/{id}")
public Result delete(@PathVariable String id) {
categoryService.removeById(id);
return Result.ok("删除成功");
}
@ApiOperation("根据名称删除模块接口")
@ApiImplicitParam(name = "name", value = "模块名称", required = true)
@DeleteMapping("/name/{name}")
public Result deleteByName(@PathVariable String name) {
categoryService.removeByName(name);
return Result.ok("删除成功");
}
}