【发布时间】:2015-10-23 13:10:17
【问题描述】:
我有控制器
[HttpGet]
public IHttpActionResult GetUserRights(int id)
{
var rights = _rightsService.GetUserRights(id);
if (rights == null)
{
return new HttpActionResult(HttpStatusCode.BadRequest, "User not found");
}
return Ok(rights);
}
[HttpPost]
public IHttpActionResult SetUserRights(int id, IEnumerable<EditRightViewModel> rights)
{
Result result = _rightsService.SetUserRights(id, rights);
if (!result.IsSuccess)
{
return new HttpActionResult(HttpStatusCode.InternalServerError, result.Message);
}
return Ok(result.Data);
}
[HttpPost]
public IHttpActionResult SetUserRights(int id, int RightId, bool Enable)
{
Result result = _rightsService.SetUserRights(id, new List<EditRightViewModel>
{
new EditRightViewModel
{
RightId = RightId,
Enable = Enable
}
});
if (!result.IsSuccess)
{
return new HttpActionResult(HttpStatusCode.InternalServerError, result.Message);
}
return Ok(result.Data);
}
get 请求工作正常,但帖子返回 404。 请求是
User-Agent: Fiddler
Host: localhost:577
Content-Length: 44
Content-Type: application/json; charset=utf-8
{
"id":1,
"RightId":1,
"Enable":"true"
}
最初我想将数据发送到以列表为参数的发布操作。我认为它返回 404 的原因是 json 不适合函数的参数。所以我简化了 json 和 action 参数,但它仍然不起作用。也许有人可以告诉问题的原因是什么以及如何编写一个正确的json来发送列表作为参数?
【问题讨论】:
-
发帖请求网址是什么?
-
你能告诉我们请求的代码吗?
-
该 url 是 /api/rights/SetUserRights 通过使此签名 IHttpActionResult SetUserRights(int id, EditRightViewModel editModel) 并在 url /api/rights/SetUserRights/1 中将 id 作为参数发送来管理发送请求 简单参数不能是 JSON 的一部分。他们必须去url参数
标签: json asp.net-mvc http fiddler