带有正文示例的 Angular Put 请求
Posted
技术标签:
【中文标题】带有正文示例的 Angular Put 请求【英文标题】:Angular Put request with body example 【发布时间】:2019-05-25 15:49:57 【问题描述】:PUT 请求的 URL 是 http://localhost:8080/user/userId/update
user 是带有 JSON 数据的主体,userId 是字符串。Update 是一种方法。
在哪里 用户= “名称”:“值”, “年龄”:“价值:, “性别”:“价值”
userId=123456
如何在 Angular 4 及更高版本中发出 Angular httpClient PUT 请求
【问题讨论】:
angular.io/guide/http 【参考方案1】:您应该使用HttpClient
从服务类中执行此操作。
创建一个服务并将 HttpClient 注入您的服务。
然后在您进行 http 调用的 putRequestHttp
方法中:
putRequestHttp(userObj): any
//optional url query params for request
const params = new HttpParams()
.set('param1', param1Value)
.set('param2', param2Value);
return this.httpClient.put(`my-url-http`, userObj, params )
您需要从您的组件订阅putRequestHttp
服务方法。将用户对象传递给它,您的请求就会正常。
查看official tutorial guide here.
【讨论】:
你能解释一下我上面的问题吗? 更新了答案,创建服务并在服务方法中使用代码,在订阅时将user
数据从组件传递给您的服务方法。
查看官方教程:angular.io/tutorial/toh-pt6#update-heroes【参考方案2】:
与上面相同,但添加了更多的输入/不同的语法选项。我只是觉得这更容易阅读/更清洁。假设 User 是一个已定义的类型,并且路由的返回类型也是更新后的用户:
putUser = (user: User): Observable<User> =>
return this.httpClient.put<User>('api route', user);
【讨论】:
以上是关于带有正文示例的 Angular Put 请求的主要内容,如果未能解决你的问题,请参考以下文章
使用带有 JWT 的 Angular 和 Spring Boot 服务的 PUT 请求出现 403 错误
Express 无法接收来自 axios put 请求的正文
CORS 预检返回 200,但随后的 PUT 从未发生(带有外部 REST API 的 Angular JS)