本指南将引导您编写一个简单的 AngularJS 客户端,该客户端使用基于 Spring MVC 的客户端。RESTful Web 服务.
您将构建的内容
您将构建一个使用基于 Spring 的 RESTful Web 服务的 AngularJS 客户端。具体来说,客户端将使用在 中创建的服务使用 CORS 构建 RESTful Web 服务.
AngularJS客户端将通过在浏览器中打开文件来访问,并将在以下位置使用接受请求的服务:index.html
http://rest-service.guides.spring.io/greeting该服务将以杰伦问候语的表示形式:
{"id":1,"content":"Hello, World!"}AngularJS客户端会将ID和内容渲染到DOM中。
rest-service.guides.spring.io 处的服务正在从可逆期指南只需稍作修改:对终结点有开放访问,因为应用在没有域的情况下使用。/greeting@CrossOrigin
你需要什么
- 约15分钟
- 最喜欢的文本编辑器
- 现代网络浏览器
- 互联网连接
创建一个 AngularJS 控制器
首先,您将创建将使用 REST 服务的 AngularJS 控制器模块:
public/hello.js
angular.module('demo', []).controller('Hello', function($scope, $http) { $http.get('http://rest-service.guides.spring.io/greeting'). then(function(response) { $scope.greeting = response.data; });});这个控制器模块被表示为一个简单的JavaScript函数,它被赋予了AngularJS和组件。它使用该组件在“/greeting”处使用 REST 服务。$scope$http$http
如果成功,它将把从服务返回的 JSON 分配给 ,有效地设置一个名为“greeting”的模型对象。通过设置该模型对象,AngularJS可以将其绑定到应用程序页面的DOM,将其呈现给用户查看。$scope.greeting
创建应用程序页
现在您已经有一个 AngularJS 控制器,您将创建 HTML 页面,该页面会将控制器加载到用户的 Web 浏览器中:
public/index.html
<!doctype html><html ng-app="demo"> <head> <title>Hello AngularJS</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script> <script src="hello.js"></script> </head> <body> <div ng-controller="Hello"> <p>The ID is {{greeting.id}}</p> <p>The content is {{greeting.content}}</p> </div> </body></html>请注意本节中的以下两个脚本标记。head
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script><script src="hello.js"></script>第一个脚本标签从内容交付网络(CDN)加载缩小的AngularJS库(angular.min.js),这样你就不必下载AngularJS并将其放置在项目中。它还从应用程序的路径加载控制器代码 (hello.js)。
AngularJS库支持多个自定义属性与标准HTML标记一起使用。在 index.html 中,有两个这样的属性在起作用:
- 该标记具有指示此页面是 AngularJS 应用程序的属性。<html>ng-app
- 该标签具有设置为引用控制器模块的属性。<div>ng-controllerHello
另请注意使用占位符的两个标记(由双花括号标识)。<p>
<p>The ID is {{greeting.id}}</p><p>The content is {{greeting.content}}</p>占位符引用模型对象的 and 属性,该属性将在成功使用 REST 服务时设置。idcontentgreeting
运行客户端
要运行客户端,您需要将其从 Web 服务器提供给浏览器。Spring Boot CLI(命令行界面)包括一个嵌入式 Tomcat 服务器,它提供了一种提供 Web 内容的简单方法。看使用 Spring 引导构建应用程序,了解有关安装和使用 CLI 的更多信息。
为了从Spring Boot的嵌入式Tomcat服务器提供静态内容,您还需要创建最少量的Web应用程序代码,以便Spring Boot知道启动Tomcat。以下脚本足以让 Spring Boot 知道您要运行 Tomcat:app.groovy
app.groovy
@Controller class JsApp { }现在,您可以使用 Spring Boot CLI 运行该应用程序:
spring run app.groovy应用启动后,打开http://localhost:8080在浏览器中,您会看到:
每次刷新页面时,ID 值都会递增。
总结
祝贺!您刚刚开发了一个使用基于 Spring 的 RESTful Web 服务的 AngularJS 客户端。