繁体   English   中英

Web API,我发布方法的路由问题

[英]web api, routing issue with my post method

我的Web api控制器路由存在问题。 我已经使GET方法可以正常工作,但是现在,我尝试了一些POST,并且路由似乎很糟糕。 我有一个前台,并且在Angular2上有。 在这里,您可以看到对webapi的调用:

 retour = this._http.post("http://localhost:5000/api/Particulier/add", _particulier, options)
        .map(postResult)
        .catch(this.handleError);

这是我的网络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告诉我该网址不存在。 我在同一控制器中有GET方法,并且它们可以工作。

你能帮助我吗 ?

谢谢,

方法Add([FromBody]Particulier particulier)可能与您的请求不匹配,因为缺少为Particulier参数指定的不可为空的属性。 或者,反序列化请求可能是一个问题。

如果不是缺少属性的问题,我建议您尝试使用Content-Type: text/json标头。

retour = this._http({
        url: 'http://localhost:5000/api/Particulier/add',
        method: "POST",
        data: _particulier,
        headers: {'Content-Type': 'text/json'}
}).success(function(data, status, headers, config) {
    // map post result (data var)
});

好,解决了。 直到不提供Angular服务,请求才会执行。

谢谢大家

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM