我有最基本的问题,但我想的越多,它就越复杂。
我一直在使用rails,它遵循MVC范例,因为db和api调用是通过控制器生成的调用抽象出来的。这似乎对我想要的东西太重了。
1)我想要一个位于我的数据存储区前面的简单(基本)Web服务器。 (其内容恰好存储在以下目录结构中:/ LOCATIONS / LOCATION / PRESENTERS / PRESENTER / YEAR / MN /)
2)我希望能够在该目录结构中托管json文件并根据需要获取它们。
3)我希望能够将PUT / POST附加到那些json文件。
似乎所有我需要的是nginx,我的数据存储区作为文档根目录和index.html文件在结构中的关键位置(例如site.com/Locations/index.html,site.com/locations/ SF /主持人/所罗门/ index.html中)?
我如何开始解决这个问题,(不使用粗略的控制器)?
答案 0 :(得分:1)
MVC框架
不使用控制器
你必须知道那里有many more frameworks而不是Rails,所以当你询问使用系统"坐在你的数据存储区" 时,你真的在寻找不同的框架来处理请求,其中有很多。
您遇到的问题是如何保持数据一致性,同时确保您可以处理相关的API请求(通过JSON)。答案是查看如何您正在检查工作的系统。
我只能真正担保Rails(它是我唯一拥有生产应用程序的框架) -
-
<强>滑轨强>
创建API in Rails非常简单 - 我不知道为什么你会考虑做其他事情
使用MVC原则可能看起来很臃肿,但它提供的安全性,结构和可扩展性是无与伦比的。
以下是如何在Rails中创建API:
#config/routes.rb
namespace :api do
resources :controller, only: [:update, :create] #-> only PUT / POST
end
#app/controllers/api/your_controller.rb
class API::YourController < ApplicationController
respond_to :json
def update
# handle PUT request
end
def create
# handle POST request
end
end
#app/models/model.rb
Class Model < ActiveRecord::Base
end
这就是您所需要的一切 - 您将能够访问domain.com/api/controller.json POST
来创建数据,并domain.com/api/controller/4.json PUT
来更新数据:)