对于ICP而言 主要承担网站信息,网络信息工程师,wordpress+边框插件,装修公司起名ASP.NET Core中默认的ASP.NET Core 模板中有Web API 模板可以创建Web API项目。
有时#xff0c;只需要创建一个API#xff0c;不需要关心Razor#xff0c;本地化或XML序列化。通过删除无用的NuGet软件包和代码#xff0c;可以提高 API 的加载时间并减少部署包大小。 新建…ASP.NET Core中默认的ASP.NET Core 模板中有Web API 模板可以创建Web API项目。
有时只需要创建一个API不需要关心Razor本地化或XML序列化。通过删除无用的NuGet软件包和代码可以提高 API 的加载时间并减少部署包大小。 新建项目
打开VS2017 新建一个ASP.NET Core 应用程序 (.NET Core)项目命名为miniwebapi。确定后选择Web API 模板并将“身份验证”设置为“不进行身份验证”。 然后确定就创建好了项目默认项目的csproj 文件内容如下
Project SdkMicrosoft.NET.Sdk.WebPropertyGroupTargetFrameworknetcoreapp1.1/TargetFramework/PropertyGroupItemGroupFolder Includewwwroot\ //ItemGroupItemGroupPackageReference IncludeMicrosoft.ApplicationInsights.AspNetCore Version2.0.0 /PackageReference IncludeMicrosoft.AspNetCore Version1.1.2 /PackageReference IncludeMicrosoft.AspNetCore.Mvc Version1.1.3 /PackageReference IncludeMicrosoft.Extensions.Logging.Debug Version1.1.2 //ItemGroupItemGroupDotNetCliToolReference IncludeMicrosoft.VisualStudio.Web.CodeGeneration.Tools Version1.0.1 //ItemGroup/Project 删除NuGet包
首先删除掉 Microsoft.AspNetCore.Mvc。
其实 Microsoft.VisualStudio.Web.CodeGeneration.Tools 及也可以删除 Microsoft.ApplicationInsights.AspNetCore 。
接着添加
Microsoft.AspNetCore.Mvc.CoreMicrosoft.AspNetCore.Mvc.Formatters.Json
最终miniwebapi.csproj文件如下
Project SdkMicrosoft.NET.Sdk.WebPropertyGroupTargetFrameworknetcoreapp1.1/TargetFramework/PropertyGroupItemGroupFolder Includewwwroot\ //ItemGroupItemGroupPackageReference IncludeMicrosoft.AspNetCore Version1.1.2 /PackageReference IncludeMicrosoft.AspNetCore.Mvc.Core Version1.1.3 /PackageReference IncludeMicrosoft.AspNetCore.Mvc.Formatters.Json Version1.1.3 /PackageReference IncludeMicrosoft.Extensions.Logging.Debug Version1.1.2 //ItemGroup/Project 其实Microsoft.Extensions.Logging.Debug 如果不需要也可以删除这里做了一个保留。
配置服务
对于移除了Microsoft.ApplicationInsights.AspNetCore 的需要在Program.cs 中去掉.UseApplicationInsights()
接着打开Startup.cs 文件在ConfigureServices 方法中去掉 services.AddMvc();
然后改成如下 services.AddMvcCore().AddJsonFormatters(); 接着打开默认的ValuesController.cs 更改成如下
[Route(api/[controller])] public class ValuesController{ // GET api/values [HttpGet] public IEnumerablestring Get(){ return new string[] { linezero, linezeros blog };} // GET api/values/5[HttpGet({id})] public string Get(int id){ return linezeroid;} // 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){}}
重点是去掉默认的继承 Controller。
如果你有其他的需求如跨域数据验证可以再添加对应的NuGet包。
Microsoft.AspNetCore.Mvc.Cors 跨域 对应的在services.AddMvcCore().AddJsonFormatters().AddCors();
Microsoft.AspNetCore.Mvc.DataAnnotations 数据验证属性。AddDataAnnotations(); 测试
运行程序使用调试功能VS2017 会自动打开浏览器并访问对应的api/values,显示如下 表示接口能够成功访问。
这样你可以只使用所需的功能从而减少加载时间。ASP.NET Core 可以让你灵活的使用想要使用的。
原文地址http://www.cnblogs.com/linezero/p/7121925.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注