gpt4 book ai didi

ruby-on-rails - 自动为现有数据库生成API

转载 作者:行者123 更新时间:2023-12-04 06:29:11 25 4
gpt4 key购买 nike

有没有办法为现有数据库自动生成Rails API?我有来自 php 项目的 mysql DB,我需要为它生成 REST API。

最佳答案

使用 rails 4,您可以使用脚手架,注意保持数据模型与旧数据库完全相同(即相同的表和列名称),然后删除使用脚手架生成的迁移。

假设您有一个名为 Posts 的表,其中包含以下列:主题和正文。

你可以运行:

rails g scaffold post subject:string body:text

然后从 db/migrate 中删除迁移。

现在假设您设置了 rails 应用程序以通过 config/database.yml 正确访问数据库,您应该有一个 json API 全部设置并准备好使用,因为 rails scaffold 生成 index.json.jbuilder 和 show.json.jbuilder 用于您搭建的每个资源。

您可能必须编辑应用程序 Controller 以允许外部 API 请求,但这仅在您计划发布到 API 时才重要:

如果确实需要 POST,请更改 app/controllers/application_controller.rb 顶部的这一行:
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception

对此:
protect_from_forgery with: :null_session

GET 请求应该在不修改应用程序 Controller 的情况下工作。

忘了说了,要访问这些资源,您将使用 ?format=json 作为参数,因此:
http://localhost:3000/posts?format=json

或者
http://localhost:3000/posts/1?format=json

将返回所有帖子或单个帖子的 json 响应。

关于ruby-on-rails - 自动为现有数据库生成API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25850150/

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