设为首页 加入收藏

TOP

AngularJS —— 使用 ngResource、RESTful APIs 和 Spring MVC 框架提交数据
2014-11-23 22:10:01 来源: 作者: 【 】 浏览:20
Tags:AngularJS 使用 ngResource RESTful APIs Spring MVC 框架 提交 数据

本文为开发者呈现了一些概念和相关的示例代码,介绍了用ngResource($resource)服务POST方式提交数据到和服务器端SpringMVC环境下的RESTFul APIs。示例代码可以在如下页面找到:http://hello-angularjs.appspot.com/angularjs-restful-apis-post-method-code-example。相对于使用$http服务,我更喜欢这种方法的主要理由是ngResource允许你使用抽象方式(例如$resource类),你可以使用它的实例上的处理方法与RESTFul APIs交互。这样就可以简单方便地实现RESTFul集成。在$resource类的对象上,可以直接调用处理方法(例如get、save等)。因此,在其实例上,就可以使用"$"作为前缀直接调用这些方法。具体的例子如下所示。


这篇文章里,用以下两个情景用例来解释:


代码片段包含了AngularJs代码和Spring MVC代码,以能够让你简单快速的上手。


想要$resource 服务工作,需要添加一段实际代码:


应用angular-resource.js文件,你可以使用Google Hosted Libraries来实现。


下面采用的代码是最新的angularJs版本。(下面就是引入服务的代码)


下面的代码告诉你如何在创建控制器时引入ngResource模块和注入$resource服务:


保存/持久化新对象 (其实就是传给后台存进数据库的一个过程)


下面的代码演示了如何使用POST方法提交form表单中的user信息(这部分是由controller来做),controller会把uers信息提交给REST URL “/user/new”(这部分是Spring MVC的控制器执行)。


AngularJS代码


Spring MVC 代码


请注意User对象的字段要和JSON数据的要一致。同时确保Jackson包已经引入了,并且正常工作了。这是最重要的步骤。我推荐参考这篇文章 how to fix 415 Unsupported Mediatype error 来帮助你实现前面两个步骤。(1.Spring转对象的时候,是按照字段名来转的,比如你的Java的User对象的firstname会绑定Json对象的firstname,所以需要保持一致,否则帮出来的数据可能不对。2.不引人Jackson包,那么Json对象和Java对象不能想换转化,也就不能正常工作了)


更新已存在的数据对象


下面的代码演示了如何通过POST方法提交表单信息来更新user对象,请求会发送到服务器的REST URL "/user/{id}",也包括Spring MVC的方法。


AngularJS代码


Spring MVC 代码


请注意下面几点


-用例的路径变量(就是"/user/{id}"这东西)


-Java的User对象要和Json对象匹配(字段名,或者说是属性名)


-确保Jackson包引入并且正常工作(确保你后台能正常转化Json和java对象)


带你走近AngularJS系列


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python执行shell命令四法 下一篇Hibernate主键生成策略总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: