package com.example.demo.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.metadata.IPage;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.example.demo.entity.User;import com.example.demo.service.intf.UserService;import io.swagger.annotations.ApiOperation;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.web.bind.annotation.*;import java.util.List;/*** @author Feri* @date 2021/12/28 09:55* @description:TODO*/@RestController@RequestMapping("/api/user/")@ApiOperation(value = "User表的操做")public class UserController {@Autowiredprivate UserService service;@PostMapping("save.do")//这里是对接口解释value是标题,notes表示详细解释@ApiOperation(value = "增加数据", notes = "增加数据")public boolean save(User user){return service.save(user);}@GetMapping("all.do")@ApiOperation(value = "查询所有")public List<User> all(){return service.list();}@PutMapping("update.do")@ApiOperation(value = "更改数据")public boolean update(User user){return service.updateById(user);}@DeleteMapping("delete.do")@ApiOperation(value = "通过i删除数据")public boolean save(int id){return service.removeById(id);}@GetMapping("page.do")@ApiOperation(value = "分页查询所有")public IPage<User> page(int page, int limit){return new Page<User>(page, limit);}@GetMapping("like.do")@ApiOperation(value = "模糊查询name")public List<User> like(String name, String id){//1实例化条件构造器QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();//2实现条件对应的方法调用userQueryWrapper.like("name", "%" + name + "%").or().gt("id",id);return service.list(userQueryWrapper);}}
接口文档测试类
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>
