簡體   English   中英

在發送@PathParam時,澤西項目Swagger-UI不會發送@HeaderParam

[英]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" : { }
            }
          }
        }
      }
    }

與WireShark一起檢查,發現根本沒有請求標題。 Swagger-UI中應該出現問題嗎? 在此處輸入圖片說明

@HeaderParam(“ Authorization”)就像HTTP的關鍵字嗎? 當我使用其他名稱(例如“ Auth”)時,它會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM