导入依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
启动类添加注解
@EnableWebMvc
@EnableSwagger2
@MapperScan("com.yrh.mapper")
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
Swagger配置类
package com.yrh.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
/**
* @author: yrh
* @ClassName: Swagger3Config
* @Description: TODO
* @Date: Created in 11:10 2021/12/10
* @Version 1.0
*/
@Configuration
public class Swagger3Config {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any()).build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("Yrh API Doc")
.description("这是RestFul风格的测试文档")
.version("1.0")
.build();
}
}
接口文档访问信息和地址
package com.yrh.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.yrh.mapper.User2Dao;
import com.yrh.pojo.User2;
import com.yrh.util.PageMode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @author: yrh
* @ClassName: indexController
* @Description: TODO
* @Date: Created in 15:14 2021/12/7
* @Version 1.0
*/
@CrossOrigin(origins = "*")
@RestController
@Api(tags = "用户信息管理")
public class indexController {
@Autowired
private User2Dao dao;
@Autowired
private PageMode pageMode;
@GetMapping("/")
@ApiOperation(value = "所有用户信息")
public PageMode index(@RequestParam(value = "page",required = false,defaultValue = "1") int page,
@RequestParam(value = "size",required = false,defaultValue = "2") int size,
@RequestParam(value = "baseKey",required = false,defaultValue = "") String baseKey){
QueryWrapper<User2> wrapper=new QueryWrapper<>();
if (baseKey!=null&&!"".equals(baseKey)){
wrapper.like("name",baseKey);
}
int count = dao.selectList(wrapper).size();
int ys=count%2==0?count/2:count/2+1;
page=page>ys?ys:page;
PageHelper.startPage(page,size);
return pageMode.getPage(count,dao.selectList(wrapper));
}
@PostMapping("/updateUser")
@ApiOperation("修改添加用户")
public String updateUser(@RequestBody User2 user2){
System.out.println("user2 = " + user2);
if (user2.getId()>0&&user2.getId()!=0){
dao.updateByPrimaryKey(user2);
}else {
dao.insert(user2);
}
return "ok";
}
@ApiOperation("删除用户")
@DeleteMapping("/delete/{id}")
public String delete(@PathVariable("id") long id){
dao.deleteById(id);
return "ok";
}
}
页面访问地址