随着我对RESTful API的更多了解,该方法的(良好)简单性意味着您生成大量的样板代码,以及必须在三个或四个不同位置匹配的代码,例如:对于基于泽西岛的筹码:
Create Foo
)FooRest
类方法Foo
类,它将操纵数据结构是否有自动为某些或所有代码提供起点的工具,可能是从像JSON数据结构那样简单的东西开始的?例如,提供:
card: {
methods: [GET],
}
handOfCards: {
methods: [GET POST PUT DELETE],
}
并且至少最终得到Ajax请求,CardRest和HandOfCardsRest类使用指定的方法存根,而Card和HandOfCards类包含属性或getter / setter?
答案 0 :(得分:3)
你试过Backbone.js吗?它是一个JavaScript库,可以为您处理REST Ajax请求。它允许您定义模型以包装数据并提供设置器,getter,保存和删除功能等。
它还允许您将模型绑定到生成UI HTML的视图。
答案 1 :(得分:1)
你的目标应该不是样板代码生成,而是实际编写更少的代码。
以下是一些示例代码:
import static spark.Spark.*;
import spark.*;
public class HelloWorld {
public static void main(String[] args) {
get(new Route("/") {
@Override
public Object handle(Request request, Response response) {
// .. Show something ..
}
});
post(new Route("/") {
@Override
public Object handle(Request request, Response response) {
// .. Create something ..
}
});
put(new Route("/") {
@Override
public Object handle(Request request, Response response) {
// .. Update something ..
}
});
delete(new Route("/") {
@Override
public Object handle(Request request, Response response) {
// .. annihilate something ..
}
});
options(new Route("/") {
@Override
public Object handle(Request request, Response response) {
// .. appease something ..
}
});
}
}
答案 2 :(得分:1)
Juan's answer的备用(或添加),您可能需要查看Knockback.js,它会充分利用Knockout并添加Backbone.js的最佳效果。 Backbone通过它的“同步”功能支持RESTful API。引用他们的网站:
Backbone.sync的方法签名是sync(方法,模型, [选项])
method – the CRUD method ("create", "read", "update", or "delete") model – the model to be saved (or collection to be read) options – success and error callbacks, and all other jQuery request options
答案 3 :(得分:1)
我认为几乎所有* rails应用程序都会为您完成所有这些操作。 Grails是我现在最喜欢的,一旦你完成了初始设置(一个命令),你就可以使用另一个命令创建域类。
创建这些视图后,您可以使用单个命令生成用于处理所有这些操作的视图(html)和控制器,并且锅炉板足以用于许多初始站点。它甚至会为您创建测试用例,但您需要定义实际测试的功能。您可以非常轻松地按惯例对其进行编程,或者从URL创建自己的映射 - >控制器动作。它有大量的插件支持,可以轻松处理内置的表单(通过javascript)的远程提交。
它没有用于创建的json数据结构,但是这些域非常容易创建(使用groovy)并且它自动装配getter / setter,服务注入等,因为它基于Spring Framework。
答案 4 :(得分:0)
您可能希望尝试不同的方法并尝试project lombok之类的内容。它至少会让你把所有的吸气剂和制定者都搞定。