2017-03-06 122 views
3

我正在使用swagger來記錄我的Java REST API。 X-Auth-Token應該在每個API(除了一個)的頭部中發送。 我想在授權的寵物商店V2中有這樣的按鈕。 可以在這裏找到:http://petstore.swagger.io/Swagger批註以獲得授權按鈕

我明白它是在jason \ yaml文件中定義的,由swagger生成。 確切的說是在YAML做過這樣的:

securityDefinitions: 
    petstore_auth: 
    type: "oauth2" 
    authorizationUrl: "http://petstore.swagger.io/oauth/dialog" 
    flow: "implicit" 
    scopes: 
     write:pets: "modify pets in your account" 
     read:pets: "read your pets" 
    api_key: 
    type: "apiKey" 
    name: "api_key" 
    in: "header" 

我所有的招搖的文檔我的註釋做了。但是我找不到這個按鈕的註釋。 你能幫我找到這個註解嗎?

謝謝!

+0

曾經找到一個解決方案:

所以最後我通過調用Ajax調用取回一個令牌,並調用此方法做了一種自動授權? –

+0

通過在@SwaggerDefinition中添加字段。我會在星期天更新答案 – sosolo

回答

3

我用:

@SwaggerDefinition(securityDefinition = @SecurityDefinition(apiKeyAuthDefinitions = {@ApiKeyAuthDefinition(key = "X-Auth-Token", 
    in = ApiKeyAuthDefinition.ApiKeyLocation.HEADER, name = "X-Auth-Token")})) 

然後我得到了在揚鞭-UI的 「授權」 按鈕。 我檢查了它做了什麼 - 當`self = window.swaggerUi;'時,它調用方法self.api.clientAuthorizations.add

​​
+0

@tisbar幫助? – sosolo

+0

不知道@tisbar,但你肯定幫了我。爲我節省了無數日子,謝謝! –