![](/img/trans.png)
[英]Post method returning 405 Method not allowed in Angular 8 web api project
[英]Angular Web Api 2 is not working with POST : 405 Method Not Allowed
我正在将Angular
与asp.net Api 2
一起使用,但是 post 方法不适用于 Angular,而它与 Postman 一起工作正常,我正在使用HttpInterceptor
作为用户令牌。
用户服务
saveUser(user: Users) {
const body: Users = {
userName: user.userName,
userPassword: user.userPassword,
userEmail: user.userEmail,
userFullname: user.userFullname,
userFirstname:user.userFullname,
userLastname:user.userFullname,
userType:user.userType,
userPhone :user.userPhone,
userBio :user.userBio
}
return this.http.post(this.rootUrl + '/api/Users/saveUser', body);
}
请求截图
错误截图
接口代码
[Route("api/Users/saveUsers")]
[ResponseType(typeof(User))]
public IHttpActionResult PostUser([FromBody] User user)
{
db.Users.Add(user);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = user.UserID }, user);
}
我看到您提出请求时的 API 网址是错误的
localhost:57286//api/Users/saveUsers
所以你应该把你的代码改成
return this.http.post(this.rootUrl + 'api/Users/saveUsers', body);
在你的控制器中你应该有这样的 HttpPost
如果您使用的是 ASP.Net,则必须更改为此
[HttpPost)]
[Route("api/Users/saveUsers")]
[ResponseType(typeof(User))]
在 ASP.Net Core 中
[HttpPost("api/Users/saveUsers")]
[ResponseType(typeof(User))]
所以你可以删除 Route 并替换为 HttpPost
如果您仍有问题,请告诉我
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.