Route_xxx方法(例如Route_Method)已被弃用...(葡萄API)

发布于 2025-01-31 09:44:22 字数 2310 浏览 3 评论 0原文

我有一项耙式任务来列出我的葡萄API路线。当我运行它时,我会得到:

% bundle exec rake api:routes
/Users/private/my_project/lib/tasks/api/routes.rake:7: The route_xxx methods such as route_method have been deprecated, please use request_method.
/Users/private/my_project/lib/tasks/api/routes.rake:8: The route_xxx methods such as route_path have been deprecated, please use path.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
     GET        /api/widget/color(.:format)
/Users/private/my_project/lib/tasks/api/routes.rake:7: The route_xxx methods such as route_method have been deprecated, please use request_method.
/Users/private/my_project/lib/tasks/api/routes.rake:8: The route_xxx methods such as route_path have been deprecated, please use path.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
     GET        /api/widget/flavor(.:format)
/Users/private/my_project/lib/tasks/api/routes.rake:7: The route_xxx methods such as route_method have been deprecated, please use request_method.
/Users/private/my_project/lib/tasks/api/routes.rake:8: The route_xxx methods such as route_path have been deprecated, please use path.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
     POST       /api/widget/order(.:format)

...repeat x100...

我的耙子任务:

namespace :api do
  desc 'API Routes'
  task routes: :environment do
    MyApi.routes.each do |api|
      method = api.route_method || '??'
      path = api.route_path || '--'
      path = path.gsub(':version', api.route_version) if path && api.route_version
      puts "     #{method.ljust(10)} #{path}"
    end
  end
end

I have a rake task to list my Grape api routes. When I run it, I get:

% bundle exec rake api:routes
/Users/private/my_project/lib/tasks/api/routes.rake:7: The route_xxx methods such as route_method have been deprecated, please use request_method.
/Users/private/my_project/lib/tasks/api/routes.rake:8: The route_xxx methods such as route_path have been deprecated, please use path.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
     GET        /api/widget/color(.:format)
/Users/private/my_project/lib/tasks/api/routes.rake:7: The route_xxx methods such as route_method have been deprecated, please use request_method.
/Users/private/my_project/lib/tasks/api/routes.rake:8: The route_xxx methods such as route_path have been deprecated, please use path.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
     GET        /api/widget/flavor(.:format)
/Users/private/my_project/lib/tasks/api/routes.rake:7: The route_xxx methods such as route_method have been deprecated, please use request_method.
/Users/private/my_project/lib/tasks/api/routes.rake:8: The route_xxx methods such as route_path have been deprecated, please use path.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
/Users/private/my_project/lib/tasks/api/routes.rake:9: The route_xxx methods such as route_version have been deprecated, please use version.
     POST       /api/widget/order(.:format)

...repeat x100...

My rake task:

namespace :api do
  desc 'API Routes'
  task routes: :environment do
    MyApi.routes.each do |api|
      method = api.route_method || '??'
      path = api.route_path || '--'
      path = path.gsub(':version', api.route_version) if path && api.route_version
      puts "     #{method.ljust(10)} #{path}"
    end
  end
end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

古镇旧梦 2025-02-07 09:44:22

替换弃用警告中建议的方法:

namespace :api do
  desc 'API Routes'
  task routes: :environment do
    Alex::Base.routes.each do |api|
      method = api.request_method || '??'
      path = api.path || '--'
      path = path.gsub(':version', api.version) if path && api.version
      puts "     #{method.ljust(10)} #{path}"
    end
  end
end

瞧!没有更多警告:

bundle exec rake api:routes
     GET        /api/widget/color(.:format)
     GET        /api/widget/flavor(.:format)
     POST       /api/widget/order(.:format)
...etc...

Replace the methods as suggested in the deprecation warnings:

namespace :api do
  desc 'API Routes'
  task routes: :environment do
    Alex::Base.routes.each do |api|
      method = api.request_method || '??'
      path = api.path || '--'
      path = path.gsub(':version', api.version) if path && api.version
      puts "     #{method.ljust(10)} #{path}"
    end
  end
end

Voila! No more warnings:

bundle exec rake api:routes
     GET        /api/widget/color(.:format)
     GET        /api/widget/flavor(.:format)
     POST       /api/widget/order(.:format)
...etc...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文