当前位置: 首页 > news >正文

seo如何优化网站推广农林科技公司网站模板

seo如何优化网站推广,农林科技公司网站模板,贵阳建设网站公司,php网站颜色改变应用是演进的#xff0c;通常我们用版本号来管理。api也是演进的#xff0c;这篇博文就说说asp.net web api演进时的版本管理。asp.net web api的版本管理是通过微软的一个包来实现的。Install-Package Microsoft.AspNetCore.Mvc.Versioning通过url参数: api/order/api-versi… 应用是演进的通常我们用版本号来管理。api也是演进的这篇博文就说说asp.net web api演进时的版本管理。asp.net web api的版本管理是通过微软的一个包来实现的。Install-Package Microsoft.AspNetCore.Mvc.Versioning通过url参数: api/order/api-version2.0在startup中注入ApiVersion public void ConfigureServices(IServiceCollection services){services.AddApiVersioning();services.AddControllers();} 在ProductController中标注版本特性using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks;namespace APIVersionDemo.Controllers {[ApiController][Route(api/[controller])][ApiVersion(1.0, Deprecated true)][ApiVersion(2.0)]public class ProductController : ControllerBase{private readonly ILoggerProductController _logger;public ProductController(ILoggerProductController logger){_logger logger;}//1.0的api[HttpGet({id})]public Product QueryProduct([FromRoute] int id){_logger.LogInformation(v1.0查询产品);return new Product() { ID id, Name A物品, Price 100.20m };}//2.0的api[HttpGet({id})][MapToApiVersion(2.0)]public Product QueryProductv2([FromRoute] int id){_logger.LogInformation(v2.0查询产品);return new Product2() { ID id, Name A物品, Price 100.20m, Description 产自山西 };} }/// summary/// 1.0的产品类/// /summarypublic class Product{public int ID { get; set; }public string Name { get; set; }public decimal Price { get; set; }}/// summary/// 2.0的产品类/// /summarypublic class Product2 : Product{public string Description { get; set; }} } 通过http://localhost:5000/api/product/1?api-version2.0方式访问不同的版本。显而易见这种通过在请求url末尾加参数的方式有点啰嗦。通过MediaType{Accept:application/json;version2.0}或header{version:2.0}修改startup的apiversion注入参数 public void ConfigureServices(IServiceCollection services){services.AddApiVersioning(opt {opt.AssumeDefaultVersionWhenUnspecified  true;opt.DefaultApiVersion new ApiVersion(1, 0);opt.ApiVersionReader ApiVersionReader.Combine(new MediaTypeApiVersionReader(version),new HeaderApiVersionReader(api-version));opt.ReportApiVersions  true;});services.AddControllers();} ProductController不变。请求http://localhost:5000/api/product/1,header参数可以适配两种方式Accept  :  application/json;version2.0api-version  :  2.0这样方便客户端请求的整体处理。通过url:api/v2.0/orderstrartup.cs注入apiversion public void ConfigureServices(IServiceCollection services){services.AddApiVersioning();services.AddControllers();} 这里引入OrderController在Route特性上改变url在url里增加版本信息{version:apiVersion}using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.ApplicationModels; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks;namespace APIVersionDemo.Controllers {[ApiController][Route(api/v{version:apiVersion}/[controller])][ApiVersion(1.0, Deprecated true)][ApiVersion(2.0)]public class OrderController : ControllerBase{private readonly ILoggerOrderController _logger;public OrderController(ILoggerOrderController logger){_logger logger;}//v1订单api[HttpGet({id})]public Order QueryOrder(){_logger.LogInformation(v1查询产品);return new Order(){OrderID 1,Products new ListProduct(){new Product() { ID 1, Name A物品, Price 100.20m }}};}//v2订单api[HttpGet({id})][MapToApiVersion(2.0)]public Order2 QueryOrder2(){_logger.LogInformation(v2查询产品);return new Order2(){OrderID 1,Products new ListProduct2(){new Product2() { ID 1, Name A物品, Price 100.20m, Description 产自山西 }}};}}//v1订单类public class Order{public int OrderID { get; set; }public ListProduct Products { get; set; }}//v2订单类public class Order2{public int OrderID { get; set; }public ListProduct2 Products { get; set; }} } 这时请求就变成http://localhost:5000/api/v2.0/order了可以通过不同的url来访问不同的api版本这种方式也有利于客户端统一配置baseurl来切换请求api版本。最后apiversion这个包还带来了一个无侵入controller的方式来配置api的版本本质与加在Controller上的特性信息是一致的——附加版本信息和对应关系。services.AddApiVersioning(opt  {              opt.Conventions.ControllerProductController().HasApiVersion(2, 0).HasDeprecatedApiVersion(1, 0).Action(typeof(ProductController).GetMethod(nameof(ProductController.QueryProductv2))!).MapToApiVersion(2, 0); });
http://www.yutouwan.com/news/148843/

相关文章:

  • 站长工具5g电脑怎么做网站赚钱
  • 生物医药基地网站建设什邡建设局网站
  • 咸阳网站建设公司电话链接买卖平台
  • 延安网站制作都有哪些网站可以做推广
  • 怎样建一个免费网站玉林市网站开发公司电话
  • 重庆专业网站排名团队做资源分享网站怎么样
  • 福州制作手机网站网络推广网站建设方案
  • 企业建站系统下载wordpress大图插件
  • 手机 网站企业网站建设策划书标准版
  • 用idea做html网站施工企业工作环境
  • 网站建设全攻略免费发做网站
  • 网站开发工具链接服务器单位网站建设有机房吗
  • 网站空间 推荐瀑布流 主题 wordpress
  • 网站的优点和缺点哈尔滨道外区建设局官方网站
  • 怎么架设一个网站wordpress主题akina
  • 伍佰亿书画网网站app开发公司掌握我的源代码吗
  • 广州做手机网站咨询商城分销系统
  • 家乡网站建设策划书模板东昌网站建设
  • 株洲本地新闻seo人人网
  • 帮我们做网站的人找不到了做一名优秀网站设计师计划
  • 专业营销网站制作10大品牌网
  • 北京网站建设最便宜的公司哪家好技术先进的网站设计制作
  • 那几家是做失物招领的网站免费友情链接平台
  • 免费行情软件app网站mnu公主岭市住房和城乡建设局网站
  • 廊坊建站模板系统wordpress 归档页面
  • php仿百度网站源码网业截屏怎么截
  • 硬盘做网站空间图书网页设计网站
  • 阿里云网站域名查询青海省建设局网站首页
  • 棋牌网站建设专业做网站平台
  • 天津网站建设开发维护计算机做网站难吗