在使用参数访问我的web api控制器的get方法时,我一直收到401未经授权的错误。
我需要向Get函数发送开始日期和结束日期。我把日期包装在一个名为dateParams
的对象中。
如果我没有在Get函数的Route属性中包含该参数,那么我可以正常访问它而没有任何401错误,但dateParams
为空。如果我在Route属性中包含参数,那么我会得到401错误。
这没有错误,但dateParams
为空:
[HttpGet]
[Route("api/rawdatareport")]
public HttpResponseMessage Get(DateParams dateParams) {
return Ok();
}
这会引发401错误:
[HttpGet]
[Route("api/rawdatareport/{dateParams}")]
public HttpResponseMessage Get(DateParams dateParams) {
return Ok();
}
这就是DateParams
类的样子:
public class DateParams {
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
答案 0 :(得分:0)
尝试在您的操作参数中添加[FromUri]
属性:
[HttpGet]
[Route("api/rawdatareport/")]
public HttpResponseMessage Get([FromUri] DateParams dateParams) {
return Ok();
}
并将其作为查询字符串参数发送到您的获取请求