【发布时间】:2013-12-25 04:07:29
【问题描述】:
我正在尝试将我的 Web api 代码迁移到 Web api 2 并且有点无法理解如何让它与 angular js 一起使用。我没有在网上找到任何可以解释这一点的例子。
这是我的控制器代码:
[RoutePrefix("api/v2/bids")]
public class BidsController : ApiController
{
[Route("{quoteId:long}/accept")]
public HttpResponseMessage AcceptShipmentQuote(long quoteId,[FromBody] string data)
{
HttpResponseMessage response;
response = Request.CreateResponse(HttpStatusCode.Accepted, quoteId);
return response;
}
}
在 Angular JS 上,我有以下代码:
function acceptQuote(quoteId, data, fnSuccess, fnError) {
return $resource("/api/v2/Bids/:quoteId/accept", { quoteId: "@quoteId", data: "@data" },
{ "AcceptQuote": { method: "POST", isArray: false } })
.AcceptQuote(quoteId, data, fnSuccess, fnError);
}
但这在提琴手中不起作用我看到 quoteId 没有在 uri 中被替换,我确信在我通过之后,接下来会发现 data 没有以 post 的形式进入该方法。
这是我在提琴手响应时遇到的错误
{"Message":"No HTTP resource was found that matches the request URI 'http://127.0.0.1:82/api/v2/Bids/accept'.","MessageDetail":"No type was found that matches the controller named 'v2'."}
有人可以帮我找出正确的方法来让它工作吗?
问候 基兰
【问题讨论】:
标签: javascript angularjs asp.net-web-api