Swagger OpenAPI在没有requestbody的情况下发布application / json

时间:2019-02-05 15:44:34

标签: swagger openapi swagger-php

我的API仅使用Header - Content-type:application/json对象使用请求。

要做同样的事情,我使用:

 @OA\RequestBody(
    description= "Provide company search parameter",
    required= true,
    @OA\JsonContent(
        type="object",
        @OA\Property(property="company_name", type="string")
    )
 )

但是对于某些请求,我不需要RequestBody,只需点击资源并获取数据即可。没有RequestBody怎么办?

P.S。此请求需要一种GET方法(如果有帮助,可以使用POST),但是GET不接受RequestBody

1 个答案:

答案 0 :(得分:0)

  

OAS 3.0无法描述这种情况,并且对GET requestBodies的限制是避免尝试描述HTTP规范未定义的API行为。将Content-Type指定为“手动”定义的标头的限制还在于确保对于应该使用哪种机制设置此标头没有任何歧义。

     

https://github.com/OAI/OpenAPI-Specification/issues/1628

客户端发送Content-Type标头时,它用于描述请求的正文(不是响应)

要影响响应类型,客户端可以发送Accept header
例如:Accept: application/json