我正在使用 swagger openapi规范3.0 从我的界面生成swagger。我有一个接受请求正文的删除方法。但是根据RFC7231,删除不接受任何请求正文。 Swagger-request body也是如此。但是我的API旨在在DELETE操作中接受请求正文。是否有必要创建招摇工具,以使DELETE操作接受请求正文。目前,我从大张旗鼓的代言中得到的错误是
document.write($('body').find('.example:first').prop('tagName'));
答案 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以获得一些想法。