创建ASP.NET WebApi 项目
来源:互联网 发布:佳明gps如何清除数据 编辑:程序博客网 时间:2024/05/21 06:46
1、使用VS2015创建解决方案NJLHR.Solution、项目WebApp。使用ASP.NET 4.6模板下的Web API,身份验证选择”个人用户帐户“。
2、NuGet下安装 Microsoft.Owin.Cors ,用于支持跨域访问。Startup.Auth.cs文件内的方法添加语句:
//支持跨域访问
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
3、NuGet下安装 Swashbuckle ,用于 API 操作、描述,便于管理测试API。
文件 SwaggerConfig.cs 取消 c.IncludeXmlComments(GetXmlCommentsPath()); 的注释,并添加方法 GetXmlCommentsPath():
/// <summary>
/// 获取文档说明XML的文件路径
/// <para>项目WebApp的属性=>生成=>勾选“XML文档文件”</para>
/// </summary>
/// <returns></returns>
private static string GetXmlCommentsPath()
{
return System.String.Format(@"{0}\bin\WebApp.XML", System.AppDomain.CurrentDomain.BaseDirectory);
}
文件 SwaggerConfig.cs 取消 c.IncludeXmlComments(GetXmlCommentsPath()); 的注释,并添加 AssignOAuth2SecurityRequirements 类:
/// <summary>
/// swagger api 增加 request headers 的参数Authorization,用于提交token值
/// </summary>
public class AssignOAuth2SecurityRequirements : IOperationFilter
{
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
if (operation.parameters == null)
operation.parameters = new List<Parameter>();
var filterPipeline = apiDescription.ActionDescriptor.GetFilterPipeline(); //判断是否添加权限过滤器
var isAuthorized = filterPipeline.Select(filterInfo => filterInfo.Instance).Any(filter => filter is IAuthorizationFilter); //判断是否允许匿名方法
var allowAnonymous = apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Any();
if (isAuthorized && !allowAnonymous)
{
operation.parameters.Add(new Parameter { name = "Authorization", @in = "header", description = "Token", required = false, type = "string" });
}
}
}
- 创建ASP.NET WebApi 项目
- asp.net创建webapi
- VS2012 ASP.NET创建webAPI工程
- ASP.NET WEBApi
- Asp.net WebAPI Ioc
- Asp.net WebAPI 单元测试
- ASP.NET for WebApi
- asp.net mvc 的webApi (一)自己手动创建
- Asp.net WebApi 项目示例(增删改查)
- Asp.net WebApi 项目示例(增删改查)
- 基于ASP.NET WebAPI OWIN实现Self-Host项目实战
- ASP.net项目创建
- Asp.net WebAPI 教程整理
- Asp.net WebApi版本控制
- ASP.NET WebAPI - Routing 1
- ASP.NET MVC WebAPI请求
- ASP.NET WebAPI 连接数据库
- ASP.NET WebApi 路由配置
- 16有你,17前行
- [AHK]调用计划任务组件(Schedule.Service)
- 选择排序源码
- 图像像素间的空间关系
- 《程序员修炼之道》书评、感受及快速参考
- 创建ASP.NET WebApi 项目
- Chronometer实现计时
- 分布式与集群的区别
- wdatepicker
- linux命令
- 关于调起自己写的播放界面
- cmd命令窗口中文乱码
- ArrayList<String>转 CharSequence[]
- 指针和const