Swagger UI REST URL 后缀(.json) 404错误

Swagger UI REST URL suffix (.json) 404 error

我已经部署了一个测试 Grape REST API,我正在尝试使用 Swagger 对其进行测试 UI。

问题在于,当 Swagger UI 加载 API 规范时,它会在后缀中添加括号:http://arcane-shore-2642.herokuapp.com/api/v1/todos(.json)

这会导致 404 错误,因为 (.json) 后缀无效。

它调用的URL应该是这样的:http://arcane-shore-2642.herokuapp.com/api/v1/todos

或者这样:http://arcane-shore-2642.herokuapp.com/api/v1/todos.json

我该如何解决这个问题?

My Swagger UI installation

更多有效路线:

http://arcane-shore-2642.herokuapp.com/api/v1/todos/1

http://arcane-shore-2642.herokuapp.com/api/v1/items/1

http://arcane-shore-2642.herokuapp.com/api/v1/todos/1/items

http://arcane-shore-2642.herokuapp.com/api/v1/todos/1.json

http://arcane-shore-2642.herokuapp.com/api/v1/items/1.json

http://arcane-shore-2642.herokuapp.com/api/v1/todos/1/items.json

我今天遇到了同样的问题。这是因为原始 API 规范数据来自 grape-swagger gem 具有“(.json)”(或格式)后缀。

{
  apiVersion: "0.1",
  swaggerVersion: "1.2",
  resourcePath: "/hotels",
  produces: [
  "application/json"
  ],
  apis: [
  {
    path: "/hotels.{format}",
    operations: [

  ...

add_swagger_documentation配置设置hide_format可以隐藏格式后缀。但是,选项 hide_format 在最新发布的 grape-swagger (0.10.1) 版本和最新的 grape (0.12.0) 中仍然存在问题。

所以需要指定开发grape-swagger然后设置hide_format.

宝石文件

gem 'grape-swagger', github: "tim-vandecasteele/grape-swagger"

你的根API

add_swagger_documentation hide_format: true