当前位置: 首页 > 知识库问答 >
问题:

泽西项目Swagger-UI在发送@PathParam时不发送@HeaderParam

侯和惬
2023-03-14

Java泽西项目使用以下Swagger核心:

<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”是空字符串,而路径参数字符串是好的。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" : { }
            }
          }
        }
      }
    }

共有1个答案

朱伯寅
2023-03-14

@HeaderParam(“授权”)就像HTTP的关键字?当我使用其他名称如“Auth”时,它就会工作。

 类似资料:
  • 我试图用Jersey发送一个带有POST的ByteArrayOutputStream压缩文件。

  • 我正在开发一个REST Web服务,其中我使用URL中的ID来指定患者,如下所示: <代码>WS/服务/患者/1 其中“1”是患者的id。所以,在代码中,我这样指定: 我在一个例子中看到了它,但是我的失败了。我得到了这个错误: 通用域名格式。太阳运动衫应用程序编程接口。容器ContainerException:方法,public void PresentationLayer。PatientReso

  • 对于一个nodejs项目,我正在使用swagger ui express和swagger jsdocs作为swagger API。当我尝试使用Swagger调用应用程序的POSTendpoint时,没有使用发送数据。有什么问题吗?我的全部相关代码如下: Swagger正在执行get请求,但在发送数据时,d标志为空。有人有主意吗? 最好的问候

  • 我正在使用集成Apigee门户中生成的swagger 2.0创建一个swagger UI。 我试图让oaut2客户端凭据(在swagger 2.0中称为应用程序)流在UI的“试用”部分工作。 请注意,来自用户的输入是客户端 ID 和机密,而不是令牌。 当我尝试授权 get 操作并发送请求时,我可以看到 UI 的 curl 表示形式中,Authorization 标头表示为“Authorizatio

  • 我需要使用泽西2.0创建一个ReST服务。我需要向客户端发送多个文档和元数据。实现这一点的最佳方法是什么。 我能够从服务器发送一个多部分响应,但是不知道如何从客户端代码中读取它

  • 我已经使用SpringFox build将集成到我的Spring Boot项目中,它适用于我的GET API。但是,在我的POST API(它需要格式的请求)中,swagger-ui没有设置头。 这个问题与这个帖子类似,但没有解决方案,任何帮助都很感谢。