【问题标题】:Jersey project Swagger-UI doesn't send @HeaderParam while @PathParam is sentJersey 项目 Swagger-UI 在发送 @PathParam 时不发送 @HeaderParam
【发布时间】:2019-06-10 02:18:48
【问题描述】:

使用以下 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 是从here 下载的。 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();
    }

当从 Postman 发送请求时,一切正常。但是当从 Swagger-UI 开始时,header-param 字符串“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 中的问题应该是什么?

【问题讨论】:

  • 所以你是说请求实际上进入了getTest()方法,并且Authorization头为空?
  • 没错。我在 getTest() 中设置了断点并检查了两个参数。并且 Wireshark 显示请求头不在请求中。

标签: java jersey swagger swagger-ui


【解决方案1】:

@HeaderParam("Authorization") 就像 HTTP 的关键字?当我使用“Auth”之类的其他名称时,它就可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多