【发布时间】:2017-01-10 16:49:08
【问题描述】:
我的 Web api 控制器路由有问题。我已经制作了可以正常工作的 GET 方法,但是现在,我尝试了一些 POST 并且路由似乎很糟糕。 我有一个正面和Angular2。在这里,你可以看到对 webapi 的调用:
retour = this._http.post("http://localhost:5000/api/Particulier/add", _particulier, options)
.map(postResult)
.catch(this.handleError);
这是我的 web api 方法:
[Route("api/[controller]/")]
public class ParticulierController : Controller
{
[...]
[HttpPost("add")]
public async Task<bool> Add([FromBody]Particulier particulier)
{
var result = await _particulierService.Create(particulier);
return result;
}
[...]
}
这很简单,但不起作用。 Chrome 说我的 url 不存在。我在同一个控制器中有 GET 方法,它们可以工作。
你能帮我吗?
谢谢,
【问题讨论】:
-
不起作用的情况不多。有没有例外。请求返回的状态码是什么?
-
确认你使用的asp.net版本。您发布的代码适用于
asp.net-core,但您使用asp.net-web-api标记了您的帖子。 -
这是一个带有 Web API 模板的 ASP.net Core Web 应用程序 (.net Core)。框架 4.6.1.
-
提交请求时,chrome 控制台(网络选项卡)中没有显示任何请求。问题可能与 Agular2 http 服务有关。但没有错误
标签: c# web-services angular asp.net-core-mvc asp.net-web-api-routing