ASP.NETCoreWebAPI最小化项目-创新互联

ASP.NET Core中默认的ASP.NET Core 模板中有Web API 模板可以创建Web API项目。

创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为敖汉企业提供专业的做网站、成都网站设计敖汉网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

有时,只需要创建一个API,不需要关心Razor,本地化或XML序列化。通过删除无用的NuGet软件包和代码,可以提高 API 的加载时间并减少部署包大小。

新建项目

打开VS2017 新建一个ASP.NET Core 应用程序 (.NET Core)项目,命名为miniwebapi。确定后选择Web API 模板,并将“身份验证”设置为“不进行身份验证”。

ASP.NET Core Web API 最小化项目

然后确定就创建好了项目,默认项目的csproj 文件内容如下:

ASP.NET Core Web API 最小化项目



  
    netcoreapp1.1
  

  
    
  
  
    
    
    
    
  
  
    
  

ASP.NET Core Web API 最小化项目

删除NuGet包

首先删除掉  Microsoft.AspNetCore.Mvc。

其实  Microsoft.VisualStudio.Web.CodeGeneration.Tools 及也可以删除 Microsoft.ApplicationInsights.AspNetCore 。

接着添加

  • Microsoft.AspNetCore.Mvc.Core

  • Microsoft.AspNetCore.Mvc.Formatters.Json

最终miniwebapi.csproj文件如下:

ASP.NET Core Web API 最小化项目



  
    netcoreapp1.1
  

  
    
  
  
    
    
    
    
  

ASP.NET Core Web API 最小化项目

其实Microsoft.Extensions.Logging.Debug  如果不需要也可以删除,这里做了一个保留。

配置服务

对于移除了Microsoft.ApplicationInsights.AspNetCore 的,需要在Program.cs 中去掉.UseApplicationInsights()

接着打开Startup.cs 文件,在ConfigureServices 方法中去掉 services.AddMvc();

然后改成如下:

services.AddMvcCore().AddJsonFormatters();

接着打开默认的ValuesController.cs 更改成如下:

ASP.NET Core Web API 最小化项目

    [Route("api/[controller]")]    public class ValuesController
    {        // GET api/values        [HttpGet]        public IEnumerable Get()
        {            return new string[] { "linezero", "linezero's blog" };
        }        // GET api/values/5
        [HttpGet("{id}")]        public string Get(int id)
        {            return "linezero"+id;
        }        // POST api/values        [HttpPost]        public void Post([FromBody]string value)
        {
        }        // PUT api/values/5
        [HttpPut("{id}")]        public void Put(int id, [FromBody]string value)
        {
        }        // DELETE api/values/5
        [HttpDelete("{id}")]        public void Delete(int id)
        {
        }
    }

ASP.NET Core Web API 最小化项目

重点是去掉默认的继承 Controller。

如果你有其他的需求如跨域,数据验证,可以再添加对应的NuGet包。

Microsoft.AspNetCore.Mvc.Cors 跨域 对应的在services.AddMvcCore().AddJsonFormatters().AddCors();

Microsoft.AspNetCore.Mvc.DataAnnotations 数据验证属性。AddDataAnnotations();

测试

运行程序,使用调试功能,VS2017 会自动打开浏览器并访问对应的api/values,显示如下:

ASP.NET Core Web API 最小化项目

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


标题名称:ASP.NETCoreWebAPI最小化项目-创新互联
文章来源:http://ybzwz.com/article/dcccih.html