我即将开始我的第一个真正的工作项目(新毕业),我的任务是为公司创建一个内部地址簿(显示姓名,电话分机号码,电子邮件等)。
我的导师告诉我,我需要从Active Directory中提取地址数据。
他还告诉我,我需要在前端使用Angular 2,在后端使用Spring。我仍然需要学习这些框架,但他意识到这正是他给我这个任务的原因。
但是,我正在努力理解框架之间的数据流。
这是我到目前为止所想的http://imgur.com/a/xiH6m。
如果有人能够解释图表的正确与错误,并解释数据如何在这样的项目中流动。我更愿意用更具体的问题打扰我的导师。
答案 0 :(得分:3)
使用Spring创建一个REST服务,将数据作为JSON返回。您可以在服务器端使用简单的POJO,而Spring的转换器应将其转换为JSON。也许像是
@RestController
public class EmployeesController {
@Autowired
private LdapService service;
@RequestMapping(value = "/employees/{empId}")
public Employee getEmployee(@PathVariable("empId") Long empId) {
Employee emp = ldapService.getEmployee(empId);
return emp;
}
}
使用Spring,它应该在出站响应上将Employee
对象转换为JSON(假设您已配置JSON转换器)。
在Angular中,只需向端点发出一个简单的Http
请求,然后您将获得JSON,您可以将其转换为客户端的Employee
对象。也许像是
class Employee {
// employee properties
}
@Injectable()
class EmployeeService {
constructor(private http: Http) {}
getEmployee(empId: number): Observable<Employee> {
return this.http.get(`${empBaseUrl}/${empId}`)
.map(res => res.json() as Employee)
}
}
此处,在服务中,您向服务器上的员工端点发出Http
请求,并将结果作为JSON返回,您将其转换为res.json()
的对象并进行转换它到Employee
这就是它。
答案 1 :(得分:1)
您的&#34;转换为有用的格式&#34;不会自己发生。那里需要一个Controller层。 REST控制器准确。
AngularJS 2可以轻松使用REST。您可以使用Spring MVC创建可以生成JSON响应的REST控制器。
例如,您可以拥有端点
GET /contacts/data
将返回
[
{"name":"ABC",
"email":"someone@abc.com",
"telephone":"0101010101"
},
...
]
以下的春天documentation将是一个很好的起点,尽管它讨论的是Angularjs 1.