尝试从Postman访问正在运行的普通(未修改)Web API应用程序时,为什么会出现401错误?

时间:2015-12-29 19:02:09

标签: asp.net-web-api controller asp.net-web-api-routing http-status-code-401 postman

我通过简洁地阅读ASP.NET Web API来刷新我的Web API知识。它有一个使用Postman获取应用程序预定义数据的简单示例,使用Get动词将以下内容输入Postman:

http://localhost:52194/api/values

Web API正在运行,并在我的(Chrome)浏览器中显示“ http://localhost:52194/ ”。

从Postman发送上述Get verbed URL会导致Postman中的“401 Unauthorized”。

理论上,我应该看到:

[
    "value1",
    "value2"
]

...因为应用程序中存在此代码:

namespace PlatypusWebReports.Controllers
{
    [Authorize]
    public class ValuesController : ApiController
    {
        // GET api/values
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
        . . .

为什么我会得到“401”,我该如何预防?

1 个答案:

答案 0 :(得分:3)

您遇到此错误,因为您使用“授权”属性标记了控制器类。如果您确实不需要此API的授权,请删除此属性。