pom.xml引入依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.6</version>
</dependency>
第二个是页面显示的ui
如果运行报错jackson 就注释掉最后一个依赖,与spring自身的jackson有冲突,或者升级
参考链接:https://blog.csdn.net/jason_jiahongfei/article/details/113056692
新增SwaggerConfig文件:
package com.example.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import springfox.documentation.builders.ApiInfoBuilder;
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;
@Configuration
@EnableSwagger2
@EnableWebMvc
@ComponentScan(basePackages = {"com.example.demo.Controller"})//扫描控制器的包
public class SwaggerConfig {
@Bean
public Docket customDocket(){
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
Contact contact = new Contact("蓝皮鼠","http://wwww.baidu.com","11111@qq.com");
return new ApiInfoBuilder().title("vue前后端分离搭建").description("vue前后端分离搭建接口说明").contact(contact).
version("1.0.0").build();
}
}
新增WebMvcConfig
package com.example.demo.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry){
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
创建controller
package com.example.demo.Controller;
import com.example.demo.Mapper.UserMapper;
import com.example.demo.common.Result;
import com.example.demo.entity.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@RequestMapping("/user")
@Api(value="123",tags = { "用户模块" })
public class UserController {
@Resource
UserMapper userMapper;
@PostMapping("/save")
@ApiOperation(value="新增用户",notes = "前端表单提交新增用户插入到数据库")
// @ApiImplicitParam(value="用户信息",paramType = "query")
public Result<?> save(@RequestBody User user){
userMapper.insert(user);
return Result.success();
}
}
类名上加
@RestController@Api(value="123",tags = { "用户模块" }) 类的说明@PostMapping("/save") post请求
@GetMapping("/asave") get请求@ApiOperation(value="新增用户",notes = "前端表单提交新增用户插入到数据库") 方法说明
参数说明:
query-->请求参数的获取:@RequestParam(代码中接收注解)
path(用于restful接口)-->请求参数的获取:@PathVariable(代码中接收注解)
body-->请求参数的获取:@RequestBody(代码中接收注解)@ApiImplicitParams({ @ApiImplicitParam(name = "aa", value = "用户编号", required = true, paramType = "path") }) ResponseObject addAjSplcgk(@PathVariable("aa") String ajbh, @RequestBody User user);@ApiImplicitParams({ @ApiImplicitParam(name = "detail", value = "详细", paramType = "query"), @ApiImplicitParam(name = "id", value = "id", required = true, paramType = "query"), @ApiImplicitParam(name = "bb", value = "参数bb", paramType = "query") }) List<Object> getAllAyTree(String detail, String id, String aa, String bb, boolean cc);@ApiImplicitParams({ @ApiImplicitParam(name = "aa", value = "id", required = true, paramType = "path"), @ApiImplicitParam(name = "bb", value = "名称", required = true, dataType = "string"), @ApiImplicitParam(name = "user", value = "用户", required = true, paramType = "body") }) ResponseObject updateAjAjjzjd(@PathVariable("aa") String aa, @RequestParam("bb") String bb, @RequestBody User user);
准备启动:
DemoApplication.java 加上@EnableWebMvc注解
端口号改成后台本地端口号 可以在后台打断点 输入数据测试