我是Swagger的新手。Swagger UI將身份驗證令牌傳遞到API調用頭中
我使用Swagger UI來生成swagger文檔。我有兩個API調用。首先調用是基於用戶名和密碼生成令牌。第二次調用需要首次調用生成的令牌。
如何使用Swagger UI爲第二次調用設置該令牌?
我是Swagger的新手。Swagger UI將身份驗證令牌傳遞到API調用頭中
我使用Swagger UI來生成swagger文檔。我有兩個API調用。首先調用是基於用戶名和密碼生成令牌。第二次調用需要首次調用生成的令牌。
如何使用Swagger UI爲第二次調用設置該令牌?
@ApiImplicitParams
和@ApiImplicitParam
將這樣的伎倆:
@GET
@Produces("application/json")
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Authorization token",
required = true, dataType = "string", paramType = "header")
})
public String getUser(@PathParam("username") String userName) {
...
}
更多here。
Swagger UI將被更新,以便您可以從那裏發送令牌。不需要更改HTML。
注:前一段,記錄與揚鞭一個REST API的時候,我才意識到,僅僅增加@ApiImplicitParam
是不夠的(即使你只有一個參數)。無論如何,您還必須添加@ApiImplicitParams
。
如何通過添加參數(如用戶名,密碼和授權類型)從POST/oauth/token獲取令牌?因爲在swagger UI中只有參數節點列出瞭如何在那裏添加自定義參數? –
你將不得不自定義swagger index page來完成我相信。
您可以隱藏輸入'input_apiKey'併爲用戶名和密碼添加兩個輸入。然後你做一個ajax調用來用你的令牌更新隱藏的輸入。
這是一個老問題,但是這是我如何與2.7.0版本對我的智威湯遜最近解決了它令牌
在你招搖的配置,下面添加SecurityConfiguration
豆。重要的部分是將第五個參數留空或爲空。
@Bean
public SecurityConfiguration securityInfo() {
return new SecurityConfiguration(null, null, null, null, "", ApiKeyVehicle.HEADER,"Authorization","");
}
添加securitySchemes(Lists.newArrayList(apiKey()))
到主Docket
豆。
@Bean
public Docket docket()
{
return new Docket(DocumentationType.SWAGGER_2).select()
.....build().apiInfo(...).securitySchemes(Lists.newArrayList(apiKey()));
}
private ApiKey apiKey() {
return new ApiKey("Authorization", "Authorization", "header");
}
然後在UI,你需要點擊授權按鈕並輸入「承載的access_token」(授權文本框),其中的access_token是由令牌JWT令牌服務器提供。
保存此授權後,該授權將對所有終端生效。爲每個端點添加單獨的文本字段看起來非常麻煩。
會試着讓你知道 –