加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 将WebAPI添加到现有的aspnetcore MVC项目中

发布时间:2020-12-16 07:25:37 所属栏目:asp.Net 来源:网络整理
导读:我创建了一个新项目,选择了ASP.NET核心Web应用程序(.NET Core),然后选择了Web应用程序,个人用户帐户. 一切都很好,项目工作得很好,但是我想在这个项目中添加WebAPI功能,所以http://website.com/Home是MVC,http://website.com/api/whatever是我的api,我希望他
我创建了一个新项目,选择了ASP.NET核心Web应用程序(.NET Core),然后选择了Web应用程序,个人用户帐户.

一切都很好,项目工作得很好,但是我想在这个项目中添加WebAPI功能,所以http://website.com/Home是MVC,http://website.com/api/whatever是我的api,我希望他们两个都使用相同的认证数据库(所以你可以注册MVC站点并对API进行身份验证).

如果可以避免,我不想在解决方案中添加第二个项目.

有人发布了如何将WebAPI 4添加到现有MVC项目,但这些指令在步骤1失败,将x添加到Global.asax,而ASP.Net Core MVC项目则不存在.

请帮忙.

解决方法

您的ASP.NET核心控制器已经支持MVC和WebAPI.在ASP.NET Core中,这些框架组合在一起.所以你需要的只是声明一个控制器动作,而不是返回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下访问它,具体取决于配置.这些是最常见的用例.

祝好运.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读