gpt4 book ai didi

ruby-on-rails - 用于简单 Rails 应用程序的 APIPIE

转载 作者:数据小太阳 更新时间:2023-10-29 07:37:44 25 4
gpt4 key购买 nike

我有一个 rails 应用程序(不是 rails-api)

class ApplicationController < ActionController::Base

而不是

class ApplicationController < ActionController::API

我想要这个应用程序的 HTML 文档。我正在为此目的使用 apipie,但我得到了

Oops!! Method <code></code> not found for resource <code></code> 

Controller 位于 app/controllers/并且配置对我来说似乎没问题。

我假设 Rails 应用程序也可以被视为 API。 Controller 正在呈现 json,这是否足以将应用程序同时视为 Web 应用程序和 API?我是否需要为 API 目的编写一个单独的 rails-api 应用程序?帮助我理解两者之间的区别,以防我遗漏了一些要点。

最佳答案

首先,让我告诉您有关 Web 应用程序和 API 应用程序的信息。您可以将两者都保存在一个应用程序中。您需要将 render as :json 用于 API,将 render as html 用于 web 应用程序。两个应用程序之间存在差异。尽管您可以将这两个操作放在一个应用程序中,但您需要小心渲染/重定向。

对于这个错误:

Oops!! Method not found for resource

您需要更改/config/initializers/apipie.rb 中的配置

Apipie.configure do |config|
config.app_name = "AppDepot"
# set api base url here
config.api_base_url = "/api/v1"
# set url here for open docs related to apidoc
config.doc_base_url = "/apidocs"
# set true/false for default validation
config.validate = false
# set copyright here
config.copyright = "&copy; 2014 sachin"
config.validate_value = false

# where is your API defined?
config.api_controllers_matcher = "#{Rails.root}/app/controllers/api/v1/*.rb"
config.default_version = "1.0"
config.app_info = "Tell about your application"

# set username and password for access api
config.authenticate = Proc.new do
authenticate_or_request_with_http_basic do |username, password|
username == "admin@example.com" && password == "password"
end
end
end

然后重新启动您的网络服务器以获取更改。

关于ruby-on-rails - 用于简单 Rails 应用程序的 APIPIE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26651991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com