我正在尝试使用PostgreSQL数据库构建一个Ruby on Rails Web应用程序,并使用Hibernate使用H2数据库引擎构建一个Java应用程序。
我听说过JDBC、RMI和套接字,但我对这些一无所知。
问题是,我想使用web应用程序中的数据,使用本地数据库在其中进行一些处理,最后我想将更改上传到数据库,或者说我想在web数据库中创建新表,并立即在web中显示更改。
例如,我想让学生在网络上注册,将学生从网络数据库滚动到本地数据库并输入分数,最后我希望能够在网络数据库中添加标记,并且在Web中应立即发布各个标记。
如果有人能帮助我,我将非常感激。
处理此问题的最佳方法是从 Web 应用程序提供外部应用程序可以与之交互的 API。Rails的一个好处是它基本上支持开箱即用。
执行典型的控制器操作,以便从 Web 查看学生。
class StudentsController < ApplicationController
def show
@student = Student.find(params[:id])
end
end
当向< code>/students/1发出请求时,将为ID#1的学生呈现< code>students/show模板。
Rails能够将xml/json附加到URL的末尾,以便使用不同的格式类型请求处理。
class StudentsController < ApplicationController
respond_to :html, :json
def show
@student = Student.find(params[:id])
respond_with(@student)
end
end
这将设置操作控制器的一个称为响应程序的功能。现在,当向 /students/1.json
发出请求时,控制器将在 Student 模型上调用as_json
,默认情况下,该模型会获取所有模型属性并将其转换为 json 对象。这可以通过覆盖学生模型中as_json来自定义。
对于进行更新,您可以遵循类似的模式。您使用PUT请求向/students/1.json
提交到服务器。请求不是JSON格式,您使用的库可能支持设置vars,请确保它是Rails期望的格式(即student[field]
)。Rails中间件将负责其余的工作。
class StudentsController < ApplicationController
respond_to :html, :json
def update
@student = Student.find(params[:id])
@student.update_attributes(params[:student])
respond_with(@student)
end
end
请注意,对于响应程序,没有检查update_attributes是否有效,respond_with
将为您执行此操作。如果有错误,您将获得一个HTTP 422不可处理实体作为响应代码,响应的主体将是一个带有错误的JSON对象。
还值得一提的是,如果您更喜欢 XML
响应正文而不是 JSON
,则可以在所有这些示例中将 json 替换为 xml。
您的问题的解决方案是(REST)API。
我建议在api/v[number_of_version]/下为您的API创建单独的控制器。
在http://railscasts.org有一个很好的例子,是Ryan Bates关于如何在这里构建REST API的。
您可以在这里找到API的代码示例。
https://github . com/rails casts/350-rest-API-versioning/tree/master/store-after/app/controllers/API
然后,您可以使用 HTTP 请求获取数据。
例如,要在您的应用程序中获取用户的数据,您将在url中执行http请求(您将在api和版本名称空间下的routes.rb中定义)/:username
例如 http://yourdomain.com/ausername
您将得到如下JSON响应
user: {
username: "ausername"
email: "ausername@amaildomain.com"
.....
如果您有任何问题,请随时问我:)
问题更新
当然,您可以通过这种方式添加数据。您只需将正确的 json 导出到正确的 URL 即可。
我在这个应用程序中做了一个例子
https://github.com/Geembo/getshitdone
示例:
https://github.com/Geembo/getshitdone/blob/master/app/controllers/tasks_controller.rb
在这个应用程序中,我通过Javascript (Backbone)保存任务。同样的规则也适用于Java(和任何其他语言)
问题内容: 我有一个Angular应用程序,我想在ReactJS中编写应用程序的某些部分。 如何将ReactJS应用程序注入现有的Angular应用程序中?我还需要组件的双向通信。 问题答案: 您可能需要其他选项,所以我在第2段中编写了它: 无需通信的Angular-ReactJS 具有双向通信的Angular-ReactJS 下面的所有代码都是最少的,无法在提出的步骤中显示问题。在GitHub上
在学习这本书的过程中,你已经掌握了很多关于 Git 的命令。虽然这些是在学习过程中不可缺少的,但是版本控制的核心并不是让你学习所有的命令和参数。 当你掌握一些基本的概念,再加上一个带有用户图形界面的应用程序的帮助,就可以让你的日常工作变得更加简单。一个最大的好处就是它会为你提供了一个可视化的用户操作界面。 在桌面应用程序中,很多任务使用起来会更加容易和更方便。并且你也不需要记住那几十个繁琐的 Gi
桌面应用程序的正确oAuth2流是什么?除了桌面应用程序之外,我还有一个使用隐式流的SPA Web GUI。如果客户端在3600之后重定向到IdP以发出新的Access令牌,这并不重要。 但是桌面应用程序需要全天候运行,或者可能全天候运行。因此它需要通过refresh_token自动刷新访问令牌。但是由于隐式流不提供刷新令牌,因此它可能是桌面应用程序的错误流,不是吗? 我想我需要身份验证代码流,它
我的应用程序是用Flatter和Firebase RTDB(数据库1)开发的。它是为IOS和Android构建的。 我有一个使用JS和Firebase RTDB(数据库2)开发的辅助应用程序。它是为Web创建的。 现在,我想从我的Flatter应用程序中写入数据库2。我应该一步一步地做什么? 我尝试使用以下方法应用添加多个项目: 但我不确定这是否是一个安全的过程,我不知道如何调用辅助数据库实例..
作者:陈希章 发表于 2017年3月22日 桌面应用程序,在我这篇文章的语境中,我是特指在Windows桌面上面直接运行的.NET应用程序,包括Console Application,WPF Application,Windows Forms Application, UWP Application,并且限于篇幅,我只会以Console Application作为演示,因为无论表现形式如何不同,它
我知道这个问题已经被问过很多次了,一直都有一个答案是关于使用一个可执行的jar或制作一个。exe使用launch4j或类似应用程序。 我可能听起来像个新手,实际上我是。 我一直在用一个Java项目尝试一些东西。我已经成功地制作了一个可执行的jar和一个. exe文件。这都要归功于你之前在SO中的回答:) 但是,我想为Windows创建一个安装程序。例如,按Next 2-3次(显示所有条款和条件等)