0
我正在使用Spring安全性來設置OAuth 2.0授權服務器。我想使用Swagger來記錄OAuth 2.0 API。我應該怎麼做呢?使用Swagger Spring OAuth 2.0的API文檔
我正在使用Spring安全性來設置OAuth 2.0授權服務器。我想使用Swagger來記錄OAuth 2.0 API。我應該怎麼做呢?使用Swagger Spring OAuth 2.0的API文檔
我目前正在研究它,我正在使用Springfox庫來記錄它。
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency>
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency>
我揚鞭配置是這樣的:
我的一個端點的@Configuration
@EnableSwagger2
@EnableWebMvc
public class SwaggerConfig {
@Bean
public Docket documentation() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.useDefaultResponseMessages(false)
.pathMapping("/")
.apiInfo(apiInfo());
}
/**
* API INFO
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("xxx")
.description("xxx")
.version("xxx")
.contact("xxx")
.build();
}
}
第一部分(注:有標註一個地圖沒有適當的方式2.4。 0添加支持,但我還沒有嘗試過。)
@Api(value = "xxx")
@FrameworkEndpoint
@SessionAttributes("authorizationRequest")
public class OAuthAuthorizationEndpoint {
private AuthorizationEndpoint authorizationEndpoint;
/**
* @param endpoint
* base AuthorizationCheckpoint
*/
public OAuthAuthorizationEndpoint(AuthorizationEndpoint endpoint){
this.authorizationEndpoint = endpoint;
}
@ApiOperation(value = "xxx", httpMethod = "GET", notes = "xxx")
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid input:...", response = Auth400Response.class),
@ApiResponse(code = 200, message = "Ok", response = Auth200Response.class)
})
@RequestMapping(value = "/oauth/authorize", produces = "application/json")
@ResponseBody
public ModelAndView authorize(@ApiIgnore Map<String, Object> model,
@ApiParam(value = "xxx", required = true, defaultValue = "xxx") @RequestParam String response_type,
@ApiParam(value = "xxx", required = true) @RequestParam String client_id,
@ApiParam(value = "xxx", required = true) @RequestParam String redirect_uri,
@ApiParam(value = "xxx", required = false, defaultValue = "/") @RequestParam String realm,
@ApiParam(value = "xxx", required = false) @RequestParam String state,
@ApiIgnore SessionStatus sessionStatus, @ApiIgnore Principal principal){
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("response_type", response_type);
parameters.put("client_id", client_id);
parameters.put("realm", realm);
parameters.put("redirect_uri", redirect_uri);
parameters.put("state", state);
return this.authorizationEndpoint.authorize(model, parameters, sessionStatus, principal);
這可能會幫助你。
我能否知道downvote的原因? – sunsin1985