我创建了一个新项目,选择ASP.NET核心Web应用程序(. NET核心),然后选择Web应用程序,个人用户帐户。
一切都很好,该项目工作完美,但我想给这个项目添加Webapi功能,这样http://website.com/Home是MVC,http://website.com/api/whatever是我的API,我想他们都使用相同的认证数据库(所以你可以在MVC网站上注册和认证的API)。
如果可以避免的话,我不想在解决方案中添加第二个项目。
有人发布了如何将WebAPI 4添加到现有的MVC项目,但这些说明在步骤1失败了,将x添加到Global. asax,这对于ASP.Net核心MVC项目不存在。
请帮忙。
您的ASP.NET核心< code >控制器已经支持MVC和WebAPI。在ASP.NET核心中,这些框架被组合在一起。因此,您所需要的是声明一个控制器动作,而不是返回ViewResult,而是返回您的REST API模型。
例子:
public class ValuesController : Controller
{
[HttpGet]
public List<string> Get()
{
return new List<string> { "Hello", "World" };
}
[HttpGet]
[Route("values/{valueName}")]
public string Get(string valueName)
{
return valueName;
}
}
它必须可以在GET:/api/values
和GET/api/values/valueName
下访问,具体取决于配置。这些是最常见的用例。
祝你好运!