Swagger openApi Spec 3.0-删除操作

时间:2019-03-01 07:13:51

标签: swagger openapi swagger-3.0

我正在使用 swagger openapi规范3.0 从我的界面生成swagger。我有一个接受请求正文的删除方法。但是根据RFC7231删除不接受任何请求正文。 Swagger-request body也是如此。但是我的API旨在在DELETE操作中接受请求正文。是否有必要创建招摇工具,以使DELETE操作接受请求正文。目前,我从大张旗鼓的代言中得到的错误是

document.write($('body').find('.example:first').prop('tagName'));

1 个答案:

答案 0 :(得分:1)

否,您不能使用OpenAPI 3.0规范和Swagger工具通过请求正文实现DELETE请求。正如您正确指出的那样,HTTP RFC表示DELETE请求主体具有no defined semantics(因此应避免使用),并且OpenAPI 3.0专门禁止HTTP方法中没有定义语义的主体。有关某些上下文,请参见this discussion

考虑更改您的API设计,例如,用路径,查询字符串或标头参数替换DELETE主体。查看RESTful Alternatives to DELETE Request Body以获得一些想法。