swagger & swagger-akka-http을 사용하여 akka-http API를 문서화하려고합니다. This blog post은 나에게 좋은 출발을 주었지만 지금은 API가 기본 인증을 사용한다는 사실을 문서화하려고 노력 중이다.akka-http & basic auth에서 swagger를 사용하는 방법
는 내가 가지고있는 것은 :
@Path("/foo")
@Api(value = "/foo", produces = "application/json")
class FooService ...
@ApiOperation(value = "Get list of all foos", nickname = "getAllFoos", httpMethod = "GET",
response = classOf[Foo], responseContainer = "Set")
def getAll: Route = get {...
이 내가 자신감의 UI에서 볼 수있는 JSON을 생성합니다. 그러나 auth 옵션이 없으므로 생성 된 예제를 사용할 수 없습니다. 그러나
securityDefinitions:
basicAuth:
type: basic
description: HTTP Basic Authentication.
, 나는이없는 :
나는 자신감이-akka-HTTP하는 yaml
에서
, 이것은 다음과 같이 수있는 일부 사용 yaml
설정이 사용하는 예를 발견하지 않았습니다 yaml
. 주석을 제외하고는 생성 된 .json
을 제어 할 수도 없습니다.
IIUC의 경우 올바른 방법은 authorizations
매개 변수이며 Api
또는 ApiOperation
특수 효과입니다. 이 param에는 Authorization
주석 배열이 포함되어야합니다.
각 Authorization
주석의 value
속성은 SecurityDefinitionObject
을 참조하기로하지만 방법이 SecurityDefinitionObject
사용하여 주석을 정의하는 생각이 없습니다.
Authorization
주석은 독립형으로 사용하지 않아야하며,있는 경우 무시됩니다.
내가 놓친 것이 있습니까? 여분의 선언이있는 yaml
또는 json
파일이 필요하며 어떻게해야합니까? 뭔가 더 많은게 있니?
paths: {
/foos: {
get: {
security: [
{
basicAuth: [ ]
}
],
이제 유일한 문제는 자신감을 얻을 수 있습니다 :
는
을 편집 0.7.2-SNAPSHOT으로
의 BASICAUTH 배열이 생성되는 거짓말이 감사합니다 UI를 올바르게 해석하고 예제에서 auth를 사용하십시오. AFAIK, UI에서 기본 인증이 필요한 경우 직접 입력해야합니다. here
나는 @Api 인증 값이 swagger json에서 나오지 않는 것으로 보아 당신이보고있는 것을 본 것 같습니다. io.swagger.jaxrs.Reader 클래스를 살펴본 결과 필요한 정보를 제공하는 것처럼 보입니다. swagger-akka-http의 SwaggerDocService 클래스에서 기존 Info 객체 지원과 같은 지원을 추가 할 수 있는지 조사 할 수 있습니다. –
https://github.com/pjfanning/swagger-akka-http-sample/tree/api-authorizations에는 권한이있는 @Api 주석을 시연하는 수정이되어 있으며 swagger json (http : // localhost)에서 출력을 얻습니다 : 12345/api-docs/swagger.json). ''security ': [{ "basicAuth": [] }], –
보안 정의 설정을 지원하는 swagger-akka-http의 0.7.2-SNAPSHOT 버전을 만들었습니다. - https://github.com/pjfanning/swagger-akka-http-sample/tree/security-definitions는 샘플에서 사용법을 보여줍니다. –