[英]Jersey project Swagger-UI doesn't send @HeaderParam while @PathParam is sent
使用以下Swagger Core的Java Jersey項目:
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-jaxrs2</artifactId>
<version>2.0.2</version>
</dependency>
文檔鏈接轉到“ openapi.json”。 Swagger-UI dist ver 3.20.5從此處下載。 Java代碼是這樣的:
@Path("/auth")
public class TestConttroller {
@GET
@Path("/{id}")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response testGet(
@DefaultValue("") @HeaderParam("Authorization") String a,
@DefaultValue("") @PathParam("id") String id)
{
return Response.ok().build();
}
從郵遞員發送請求時,一切正常。 但是,當跟隨Swagger-UI時,標頭參數字符串“ a”是空字符串,而path-param字符串很好。 openapi.json中的部分在這里:
"paths" : {
"/auth/{id}" : {
"get" : {
"operationId" : "testGet",
"parameters" : [ {
"name" : "Authorization",
"in" : "header",
"schema" : {
"type" : "string",
"default" : ""
}
}, {
"name" : "id",
"in" : "path",
"required" : true,
"schema" : {
"type" : "string",
"default" : ""
}
} ],
"responses" : {
"default" : {
"description" : "default response",
"content" : {
"application/json" : { },
"application/xml" : { }
}
}
}
}
}
@HeaderParam(“ Authorization”)就像HTTP的關鍵字嗎? 當我使用其他名稱(例如“ Auth”)時,它會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.