随笔分类 -  906-WebApi(含Core)

摘要:一. Core Mvc 1.传统路由 Core MVC中,默认会在 Startup类→Configure方法→UseMvc方法中,会有默认路由:routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}"); 等价于 app. 阅读全文
posted @ 2019-11-13 15:11 Yaopengfei 阅读(3638) 评论(1) 推荐(1) 编辑
摘要:一. 基本概念 1.背景 使用 Web API 时,了解其各种方法对开发人员来说可能是一项挑战。 Swagger 也称为OpenAPI,解决了为 Web API 生成有用文档和帮助页的问题。 它具有诸如交互式文档、客户端 SDK生成和 API 可发现性等优点,目前有两种实现方式: (1).Swash 阅读全文
posted @ 2019-09-27 17:50 Yaopengfei 阅读(1484) 评论(3) 推荐(0) 编辑
摘要:一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方法名。 但是我们不喜欢这种方式,所以我们将默认的路由规则 [Route("api/[controll 阅读全文
posted @ 2019-09-20 17:32 Yaopengfei 阅读(4622) 评论(6) 推荐(3) 编辑
摘要:一. WebApi自带生成api文档 1. 说明 通过观察,发现WebApi项目中Area文件夹下有一个HelpPage文件夹,如下图,该文件夹就是WebApi自带的生成Api的方式,如果该文件夹没了,可以通过Nuget安装:Microsoft.AspNet.WebApi.HelpPage ,你就会 阅读全文
posted @ 2019-03-19 10:37 Yaopengfei 阅读(1351) 评论(1) 推荐(0) 编辑
摘要:一. 背景和方案 1. 多版本管理的概念 Android 、IOS等 App 存在着多版本客户端共存的问题:App 最新版已经升级到了5.0 了,但是有的用户手机上还运行着 4.8、3.9 甚至2.2 版本的 App,由于早期没有内置升级机制、用户不会升级、用户拒绝升级等原因,造成这些旧版本 App 阅读全文
posted @ 2019-03-11 09:05 Yaopengfei 阅读(2478) 评论(3) 推荐(1) 编辑
摘要:一. 简介 简介: 上一节中,主要介绍了JWT校验,它是无状态的,是基于Token校验的一种升级,它适用的范围很广泛,APP、JS前端、后台等等客户端调用服务器端的校验。本节补充几种后台接口的校验方式,它主要适用于后台代码的调用,不适合JS、APP等客户端直接调用。 PS:在一些对接一些银行接口或者 阅读全文
posted @ 2019-03-04 07:52 Yaopengfei 阅读(2492) 评论(2) 推荐(0) 编辑
摘要:一. 简介 1. 背景 传统的基于Session的校验存在诸多问题,比如:Session过期、服务器开销过大、不能分布式部署、不适合前后端分离的项目。 传统的基于Token的校验需要存储Key-Value信息,存在Session或数据库中都有弊端,如果按照一定规律采用对称加密算法生成token,虽然 阅读全文
posted @ 2019-02-28 16:23 Yaopengfei 阅读(5029) 评论(6) 推荐(1) 编辑
摘要:一. 常见的安全隐患 1. SQL注入 常见的案例: 这个时候,只需要在传递过来的userID后面加上个: or 1=1,即可以获取T_User表中的所有数据了。 解决方案:参数化查询。 2. 跨站脚本攻击(Cross-Site Scripting (XSS)) 允许跨站脚本是Web 2.0时代网站 阅读全文
posted @ 2019-02-26 08:20 Yaopengfei 阅读(2949) 评论(3) 推荐(1) 编辑
摘要:一. IOC和DI 1. 通过Nuget引入Unity程序集。 PS:【版本:5.8.6】 2. 新建DIFactory类,用来读取Unity的配置文件并创建Unity容器,需要注意的是DIFactory类需要声明成单例。 PS:这里采用静态构造函数(必须是无参的)的形式来实现单例,MVC框架的那个 阅读全文
posted @ 2019-02-21 07:58 Yaopengfei 阅读(1474) 评论(2) 推荐(0) 编辑
摘要:一. 简单说明 开篇就介绍过WebApi和MVC相比,其中优势之一就是WebApi可以不依赖于IIS部署,可以自托管,当然这里指的是 .Net FrameWork 下的 WebApi 和 MVC 相比较,在.Net Core下,当然就另行别论。 下面我们重点介绍的就是WebApi基于控制台程序进行部 阅读全文
posted @ 2019-02-13 14:15 Yaopengfei 阅读(6736) 评论(0) 推荐(1) 编辑
摘要:一. 基本说明 1. 简介: WebApi下的过滤器和MVC下的过滤器有一些区别,首先我们要注意的是通常建WebApi项目时,会自动把MVC的程序集也引入进来,所以我们在使用WebApi下的过滤器的时候,要引入“ System.Web.Http”这个程序集,而不是MVC的“System.Web.MV 阅读全文
posted @ 2019-02-09 10:04 Yaopengfei 阅读(4856) 评论(0) 推荐(3) 编辑
摘要:一. 简介 前言: 跨域问题发生在Javascript发起Ajax调用,其根本原因是因为浏览器对于这种请求,所给予的权限是较低的,通常只允许调用本域中的资源, 除非目标服务器明确地告知它允许跨域调用。假设我们页面或者应用已在 http://www.test1.com 上了,而我们打算从 http:/ 阅读全文
posted @ 2019-01-31 08:04 Yaopengfei 阅读(2139) 评论(1) 推荐(3) 编辑
摘要:一. 前言 前端调用有Form表单提交,ajax提交,ajax一般是用Jquery的简化写法,在这里不再过多介绍; 后端调用大约有这些:WebCient、WebRequest、Httpclient、WebapiClient,重点探讨Get和Post请求,Put和Delete请求用较少。 下面排着介绍 阅读全文
posted @ 2019-01-22 08:10 Yaopengfei 阅读(5719) 评论(4) 推荐(3) 编辑
摘要:一. 基本调用规则 1. 前提 WebApi的默认路由规则为:routeTemplate: "api/{controller}/{id}", 下面为我们统一将它改为 routeTemplate: "api/{controller}/{action}/{id}",这样我们在调用的时候,还是通过拼接方法 阅读全文
posted @ 2019-01-15 17:23 Yaopengfei 阅读(1840) 评论(2) 推荐(0) 编辑
摘要:一. 原生态接口 1. 从默认路由开始分析 在WebApiConfig.cs类中的Register方法中,我们可以看到默认路由如下: 分析:请求地址在 controller 前面需要加上 api/,controller后面没有action,最后有一个参数{id},webapi默认的路由规则就是一种R 阅读全文
posted @ 2019-01-08 08:17 Yaopengfei 阅读(3214) 评论(1) 推荐(2) 编辑
摘要:一. 简介 1. 什么是WebApi? WebApi是一个很广泛的概念,在这里我们特指.Net平台下的Asp.Net WebApi框架,它是针对各种客户端(浏览器、APP等)来构建Http服务的一个框架,它是一种RestFul风格的开发接口的技术,它比WebService更省流量,比WCF更简单。下 阅读全文
posted @ 2018-12-24 15:35 Yaopengfei 阅读(4606) 评论(2) 推荐(1) 编辑