javascript - 订阅 Angular
问题描述
我对 Angular 完全陌生,我使用 SpringBoot 2.0.5.RELEASE、Angular 5 和 spring data 创建了一个项目来构建端到端的单页 Java Web 应用程序。我使用 spring boot 1.5 来公开 REST API,并使用带有路由的 angular5 来构建客户端,该客户端将使用服务器公开的 API。
我已经定义了这个组件:
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { User } from '../models/user.model';
import { UserService } from './user.service';
@Component({
templateUrl: './add-user.component.html'
})
export class AddUserComponent {
user: User = new User();
constructor(private router: Router, private userService: UserService) {
}
createUser(): void {
alert ('lala');
this.userService.createUser(this.user)
.subscribe( data => {
alert('User created successfully.');
});
}
}
在页面中我可以看到警报lala
,但不是,'User created successfully.'
但我不知道为什么
我创建用户时的链接地址是this is thishttp://localhost:4200/api/users
这是我的proxy.config.json
文件:
{
"/api/*": {
"target": "http://localhost:8080/user-portal",
"secure": false
}
}
从 curl 很好:
curl -X POST -H "Content-Type: application/json" "http://localhost:8080/user-portal/api/users"
和 user.service.ts:
import {Injectable} from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { User } from '../models/user.model';
const httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json' })
};
@Injectable()
export class UserService {
constructor(private http: HttpClient) {}
private userUrl = '/api/users';
public getUsers() {
return this.http.get<User[]>(this.userUrl);
}
public deleteUser(user) {
return this.http.delete(this.userUrl + '/'+ user.id);
}
public createUser(user) {
return this.http.post<User>(this.userUrl, user);
}
}
解决方案
在 Chrome 中按 F12 打开开发工具并转到网络选项卡。确保正在向端点发出请求并且它没有抛出和错误。
推荐阅读
- java - 我的代码已经使用了 (.dag) 和 (.dax) 文件。但我不知道如何打开它们或创建一个
- html - 如何使用 if input.value==1 等输入值移动 div 中的元素(如棋盘);提升(); 并获取 currentPositon()
- networkx - 所需社区数量的 Louvian 方法
- php - fopen('filename', 'w') 返回 false 但 file_exists('filename') 返回 true
- python - 在我的项目 OpenCV 不工作中给出:- 在 Linux 中找不到模块 cv2
- aws-api-gateway - 使用 Spring Cloud Contract 针对 AWS API Gateway/Kinesis 执行合同测试
- android - 尝试在 react native 中构建签名的 apk 时显示错误
- javascript - 有没有替换浏览器url的php函数代码
- amazon-web-services - EC2 实例网络错误:“请求超时”
- batch-file - 批处理脚本中的“如果存在”和“其他”函数存在问题