變態的問題:在一臺電腦上
context-path 不能是根
這裏設置context
application.properties
server.servlet.context-path=/jk
1、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>
2、配置
SwaggerConfig.java
package com.example.demo.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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author yujikuan
*/
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Springboot 中使用Swagger2構建RESTful APIs")
.termsOfServiceUrl("https://blog.csdn.net/qq_26229005/article/details/103843497")
.description("springmvc swagger2")
.contact(new Contact("yujikuan", "https://blog.csdn.net/qq_26229005/article/details/103843497", "[email protected]"))
.version("1.1")
.build();
}
}
Controller
package com.example.demo.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api")
@Api(value = "api接口", description="用戶相關操作")
@Slf4j
public class ApiController {
@RequestMapping(value = "/user")
@ApiOperation(value = "用戶查詢服務", notes = "根據傳過來的user_id來查詢用戶")
@ResponseBody
//註釋聲明 RequestParam
public User getUserById(@ApiParam(value = "用戶id") @RequestParam String user_id){
/* User user = userService.getUserById(user_id);
map.put("user", user);*/
log.info("userid="+user_id);
User user=new User();
user.setUser_id(user_id);
user.setUser_name("于吉寬");
user.setPassword("dsfsfs@ddd");
return user;
}
}
實體類型
package com.example.demo.controller;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "用戶")
public @Data class User {
private String user_id;
@ApiModelProperty(value = "用戶名")
private String user_name;
@ApiModelProperty(value = "密碼")
private String password;
}
最後啓動項目
訪問http://localhost:8080/jk/swagger-ui.html#/
如果報curl錯誤,請https://curl.haxx.se/download.html#Win64 下載,配置相關環境變量既可。
參考
http://springfox.github.io/springfox/docs/current/#introduction