1. package com.example.demo.controller;
    2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
    3. import com.baomidou.mybatisplus.core.metadata.IPage;
    4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    5. import com.example.demo.entity.User;
    6. import com.example.demo.service.intf.UserService;
    7. import io.swagger.annotations.ApiOperation;
    8. import org.springframework.beans.factory.annotation.Autowired;
    9. import org.springframework.beans.factory.annotation.Qualifier;
    10. import org.springframework.web.bind.annotation.*;
    11. import java.util.List;
    12. /**
    13. * @author Feri
    14. * @date 2021/12/28 09:55
    15. * @description:TODO
    16. */
    17. @RestController
    18. @RequestMapping("/api/user/")
    19. @ApiOperation(value = "User表的操做")
    20. public class UserController {
    21. @Autowired
    22. private UserService service;
    23. @PostMapping("save.do")
    24. //这里是对接口解释value是标题,notes表示详细解释
    25. @ApiOperation(value = "增加数据", notes = "增加数据")
    26. public boolean save(User user){
    27. return service.save(user);
    28. }
    29. @GetMapping("all.do")
    30. @ApiOperation(value = "查询所有")
    31. public List<User> all(){
    32. return service.list();
    33. }
    34. @PutMapping("update.do")
    35. @ApiOperation(value = "更改数据")
    36. public boolean update(User user){
    37. return service.updateById(user);
    38. }
    39. @DeleteMapping("delete.do")
    40. @ApiOperation(value = "通过i删除数据")
    41. public boolean save(int id){
    42. return service.removeById(id);
    43. }
    44. @GetMapping("page.do")
    45. @ApiOperation(value = "分页查询所有")
    46. public IPage<User> page(int page, int limit){
    47. return new Page<User>(page, limit);
    48. }
    49. @GetMapping("like.do")
    50. @ApiOperation(value = "模糊查询name")
    51. public List<User> like(String name, String id){
    52. //1实例化条件构造器
    53. QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
    54. //2实现条件对应的方法调用
    55. userQueryWrapper.like("name", "%" + name + "%").or().
    56. gt("id",id);
    57. return service.list(userQueryWrapper);
    58. }
    59. }

    接口文档测试类

    package com.feri.bootplusstudy.config;
    
    
    import io.swagger.annotations.Api;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.service.Contact;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    /**
     * @author Feri
     * @date 2021/12/27 11:44
     * @description:TODO
     */
    @Configuration //标记这是配置类,beans
    @EnableSwagger2 //启用Swagger
    public class SwaggerConfig {
        /**
         * 构建文档的基本信息
         */
        public ApiInfo createApi(){
            return new ApiInfoBuilder().description("xxxx项目的接口在线文档,可以对接口进行测试等操作")
                    .title("xxx项目的接口文档").contact(new Contact("Java2112","http://www.qfedu.com","xingfei_work@163.com"))
                    .version("1.0.0").build();
        }
    
        /**
         * 就是ioc创建实例 修饰方法 方法必须返回对象
         */
        @Bean
        public Docket createDocket(){
            return new Docket(DocumentationType.SWAGGER_2).apiInfo(createApi())
                    .select().apis(RequestHandlerSelectors.basePackage("com.feri.bootplusstudy.controller"))
                    .build();
        }
    }
    

    接口在线文档的jar包

    <!--        接口在线文档-->
            <!-- https://mvnrepository.   /artifact/com.github.xiaoymin/knife4j-spring-boot-starter -->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>3.0.3</version>
            </dependency>