我正在尝试学习Web API和MVC。我最初创建了一个基本的MVC项目。现在,在controllers文件夹中,我添加了一个WebAPI控制器。
在WebAPI控制器中,我添加了以下代码
public class SampleController : ApiController
{
[HttpPost]
public IHttpActionResult SampleData()
{
var userID = User.Identity.GetUserId();
return Ok();
}
}
User.Identity.GetUserId()方法在MVC中工作正常。
我在SO上进行了搜索,发现了以下线程
User.Identity.GetUserId() method not working in a Web Api 2 Controller
这对我没有帮助,因为在我的情况下,我已将API控制器作为MVC项目本身的一部分添加到controllers文件夹中。我还没有为WebAPI创建单独的项目。
上面提到的线程讨论了代码中已经存在的accesstoken,而在我的情况下,我只在一个Web api控制器中添加了代码。
我正在使用POSTMAN来调用API。
我也查看了以下链接 https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/individual-accounts-in-web-api
在这种情况下,也正在讨论一个单独的WebAPI项目,而不是单个控制器。
如果我在某个地方弄错了,请指导我。