
ASP.NET Web API
文章平均质量分 67
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
IHttpActionResult 或 HttpResponseMessage区别
都是 ASP.NET Web API 中的返回类型,但它们在。只是一个抽象接口,可以轻松进行单元测试。,适用于特殊需求(如流式返回 PDF)。等,方便快速返回 HTTP 状态码。- 与旧版 Web API 和。如果 API 主要使用。原创 2025-04-02 23:16:45 · 388 阅读 · 0 评论 -
asp,net core 3.1 的 Controller 和 Action
对于 MVC 视图应用而言,Action 返回的结果通常是一个 View,即页面;而对于 Web API 应用程序来说,则返回相应的资源或者 HTTP 状态码。Controller根据约定,继承自位于 Microsoft.AspNetCore.Mvc 命名空间下的 Controller 类,而这个 Controller 类又继承自 ControllerBase 抽象类。如果一个类并不满足上述约定,那么只要为它添加[Controller]特性,仍然能够将它作为 Controller 处理;反之,如果为转载 2021-08-30 00:53:25 · 1965 阅读 · 0 评论 -
WebApi使用JWT认证(一)
这是第一部:先实现NetFramework上的WebApi使用JWT认证1、VS新建一个WebApi项目2、项目右键----管理Nuget程序包----找到JWT,然后安装3、Model文件夹下新建三个类LoginResult,LoginRequest,AuthInfonamespace JwtWebApi.Models{ public class LoginResult { public bool Success { get; set; }转载 2021-06-20 21:50:35 · 2144 阅读 · 0 评论 -
C# web api返回类型设置为json的两种方法
web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法:方法一:(改配置法)找到Global.asax文件,在Application_Start()方法中添加一句:代码如下:GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); 修改后:代码如下:protected void Application_S转载 2021-01-31 12:54:39 · 3120 阅读 · 0 评论 -
配置 ASP.NET Web API 2
本主题介绍如何配置 ASP.NET Web API。配置设置Web API 配置设置中定义HttpConfiguration类。成员描述DependencyResolver使控制器的依赖关系注入。 请参阅使用 Web API 依赖关系解析程序。筛选器操作筛选器。格式化程序媒体类型格式化程序。IncludeErrorDetailPolicy指定服务器是否应在 HTTP 响应消息中包含错误详细信息,例如异常消息和堆栈跟踪。 请参阅IncludeErrorDet转载 2021-01-31 01:30:37 · 534 阅读 · 0 评论 -
Asp.net web Api源码分析-HttpResponseMessage
紧接着上文Asp.net web Api源码分析-Action的执行 我们的Action已经执行完毕,现在需要把Action的返回结果转化为HttpResponseMessage 实例,我们也知道转化工作主要在HttpRequestMessage的CreateResponse附加方法中, public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode sta转载 2021-01-30 21:25:53 · 971 阅读 · 0 评论 -
Asp.net WebApi WebApiConfig.cs(Web API 配置和服务)
public static void Register(HttpConfiguration config){//...............................var jsonSettings = config.Formatters.JsonFormatter.SerializerSettings;//获取或设置在序列化和反序列化期间如何处理空值。jsonSettings.NullValueHandling = NullValueHandling.Ignore;//在序列化和反序列化转载 2021-01-29 22:56:04 · 982 阅读 · 2 评论 -
Web API 源码剖析之默认配置(HttpConfiguration)
我们在上一节讲述了全局配置和初始化。本节我们将就全局配置的Configuration只读属性进行展开,她是一个类型为HttpConfiguration。 它在Web Api 主要为整个API 做一些最基础的工作,比如定义默认路由表(Routes)过滤器(Filters)默认消息处理程序(MessageHandlers)属性字典(Properties)依赖注入解耦器(DependencyResolver)错误处理策略(IncludeErrorDetailPolicy)服务(Services,这转载 2021-01-29 21:34:51 · 1276 阅读 · 0 评论 -
ASP.NET Core 3.x WebAPI与RESTful API
Web APIWeb API通常指“使用HTTP协议并通过网络调用的API”,由于他使用HTTP协议,所以需要通过URI信息来指定端点Web API就是一个Web系统,通过访问RUI可以与其进行信息交互。大多数的Web API并不是RESTful APIRoy Fielding为REST风格的API定制了一套约束规范或者叫做架构风格。MVC模式MVC(Model-View-Controller)是一种主要用来构建UI的架构模式强调 松耦合 关注点分离MVC不是一个完整的应用程序架构MVC与转载 2021-01-04 13:29:13 · 1011 阅读 · 0 评论 -
ASP.NET WebAPI post参数传递
可行的传参形式键值对对应dynamic动态类型(非跨域)实体类JObject参数(推荐)1.键值对对应这里所说的键值对并非是一般的键值对,是指键为空,值不为空的键值对前台请求$.ajax({ url: host + '/api/Source/TestParams', type:"post", data: { '': "Amon"}, success: function(a) { console.log(a); }}); //1转载 2021-01-01 19:43:17 · 2253 阅读 · 0 评论 -
RESTful API 设计规范
RESTful API 设计规范该仓库整理了目前比较流行的 RESTful api 设计规范,为了方便讨论规范带来的问题及争议,现把该文档托管于 Github,欢迎大家补充!!Table of ContentsRESTful API 设计规范关于「能愿动词」的使用ProtocolAPI Root URLVersioning在 URL 中嵌入版本编号通过媒体类型来指定版本信息EndpointsHTTP 动词FilteringAuthenticationResponse2转载 2020-05-25 10:16:45 · 436 阅读 · 0 评论 -
System.Web.Http下ApiController类
PropertiesActionContextGets the ActionContext.ContextGets the http context.ControllerContextGets or sets the ControllerContext.MetadataProviderGets the IModelMetadataProvider.ModelStateGets ...转载 2019-05-27 12:46:45 · 3357 阅读 · 0 评论 -
ApiController源码
// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.using System.Collections.Generic...转载 2019-05-27 12:47:19 · 1326 阅读 · 0 评论 -
C#进阶系列——WebApi 路由机制剖析:你准备好了吗?
一、MVC和WebApi路由机制比较回到顶部1、MVC里面的路由在MVC里面,默认路由机制是通过url路径去匹配对应的action方法,比如/Home/GetUser这个url,就表示匹配Home这个Controller下面的GetUser方法,这个很好理解,因为在MVC里面定义了一个默认路由,在App_Start文件夹下面有一个RouteConfig.cs文件复制代码public cl...转载 2019-05-10 17:51:00 · 1199 阅读 · 0 评论 -
Web Api 2(三)之路由与Action的选择
路由(Route) Web Api中的路由与Asp.net mvc中的路由基本上一样,一个路由看起来像是一个URI路径,但是路由中包含一些大括号包括的占位符(place holder),例如: api/{Controller}/{Action}/{Id}当你创建一个路由的时候,你可以为一个或多个占位符设置默认值,例如下面的例子将Controller设为Account,如果请求访问的...转载 2019-05-10 17:27:50 · 1137 阅读 · 0 评论 -
WebApi:路由和Action选择
本文描述了ASP.NET Web API怎么将一个HTTP请求路由到控制器的指定方法上。对于更高级别路由概览,请看 Routing in ASP.NET Web API。本文看起来更像是对路由处理的详细过程。如果你想创建一个Web API项目并发现那些不想被路由的请求,那么希望本文可以帮助到你。路由有三个主要的阶段:将URI匹配到一个路由模板。选择一个控制器选择一个action(注:...转载 2019-05-10 17:06:33 · 1596 阅读 · 0 评论 -
WebApi-路由机制
https://www.e-learn.cn/content/net/324941一、WebApi路由机制是什么?路由机制通俗点来说:其实就是WebApi框架将用户在浏览器中输入的Url地址和路由表中的路由进行匹配,并根据最终匹配的路由去寻找并匹配相应的Controller和Action并执行的一个过程。从WebApi框架接收到来自外部环境的接口调用请求到指定接口的执行大概需要以下的匹配过程...转载 2019-05-09 23:13:48 · 467 阅读 · 0 评论 -
ASP.NET WEBAPI实现微信接入验证
ASP.NET WEBAPI实现微信接入验证首先你需要一个微信公众号,很重要的是你需要完成认证,这点非常重要,如果不认证优先功能无法实现。当你完成公众号的基本设定后,我们需要为开发做第一件事情:基本配置。下面我摘抄了微信开发文档中关于接入指南的部分图文登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL)、Token和Encoding...转载 2019-05-09 22:44:30 · 818 阅读 · 0 评论 -
ASP.NET Web API 框架研究 Action的选择
如何从HttpController众多方法里如何选择出有效的Action方法?主要分一下几个步骤:首先,获取候选HttpActionDescriptor列表(ILookup(string,HttpActionDescriptor>类型)通过作为参数的HttpControlIerDescriptor对象获取当前HttpControlIer的真实类型,然后调用其GetMethods方法获得描...转载 2019-05-09 22:04:11 · 460 阅读 · 0 评论 -
Mvc4中的WebApi的使用方式
一:简单介绍什么是Web apiREST属于一种设计风格,REST 中的 POST(新增数据),GET(取得数据),PUT(更新数据),DELETE(删除数据)来进行数据库的增删改查,而如果开发人员的应用程式符合REST原则,则它的服务为“REST风格Web服务“也称的RESRful Web API”。微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于R转载 2017-05-10 16:20:35 · 7557 阅读 · 1 评论 -
Web Api 的 路由机制
ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务。 ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。所以我们要想学习web api 就要去了解它的路由机制。MVC和web api的路由机制的主要区别是web api 使用的是http 方法而不是url 的路径。本转载 2017-05-11 13:37:34 · 5491 阅读 · 0 评论 -
ASP.NET WebApi实现请求频率限制
SampleController.csusing System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Web;using System.Web.Http;namespace App.Controllers{ [Throttle]原创 2017-08-31 11:05:15 · 6744 阅读 · 1 评论 -
Web APi之认证(Authentication)及授权(Authorization)【一】
前言无论是ASP.NET MVC还是Web API框架,在从请求到响应这一过程中对于请求信息的认证以及认证成功过后对于访问页面的授权是极其重要的,用两节来重点来讲述这二者,这一节首先讲述一下关于这二者的一些基本信息,下一节将通过实战以及不同的实现方式来加深对这二者深刻的认识,希望此文对你有所收获。IdentityIdentity代表认证用户的身份,下面我们来看看此接口的定义public interf转载 2018-02-03 16:49:19 · 8936 阅读 · 0 评论 -
Web APi之认证(Authentication)两种实现方式【二】
前言上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话。序言对于所谓的认证说到底就是安全问题,在Web API中有多种方式来实现安全,【accepted】方式来处理基于IIS的安全(通过上节提到的WindowsIdentity依赖于HttpContext和IIS认证)或者在Web API转载 2018-02-03 20:58:00 · 3727 阅读 · 0 评论 -
Web APi之认证(Authentication)两种实现方式后续【三】
话题看到博客也有对于我最近有关Web APi中认证这篇文章的评论和疑问,【其中就有一个是何时清除用户的信息呢】,我当时也就仅仅想想的是认证,所以对于这个问题也不知如何解答,后来还是想了想在这个地方还是略有不足,认证成功之后其信息会一直存在,我们怎样去灵活的控制呢?关于用户的信息的清除或者将问题抽离出来可以这样说:【在Web APi中如何维护Session呢?】于是乎,就诞生了这篇文章的出现。这篇文章转载 2018-02-03 21:30:35 · 3212 阅读 · 0 评论 -
ASP.NET WebApi(二)【跨域问题解决方案:CORS】
一、跨域问题的由来 同源策略:出于安全考虑,浏览器会限制脚本中发起的跨站请求,浏览器要求JavaScript或Cookie只能访问同域下的内容。正是由于这个原因,我们不同项目之间的调用就会被浏览器阻止。比如我们最常见的场景:WebApi作为数据服务层,它是一个单独的项目,我们的MVC项目作为Web的显示层,这个时候我们的MVC里面就需要调用WebApi里面的接口取数据展现在页面上。因为我们的W转载 2018-01-20 13:19:20 · 3463 阅读 · 1 评论 -
ASP.NET WebApi(一)【接口测试工具:WebApiTestClient】
一、WebApiTestClient介绍1、WebApiTestClient组件作用主要有以下几个: (1)、将WebApi的接口放到了浏览器里面,以可视化的方式展现出来,比如我们通过http://localhost:8080/Help这个地址就能在浏览器里面看到这个服务里面所有的API接口以及接口的详细说明,省去了我们手写接口文档的麻烦。 (2)、能够详细查看API的类说明转载 2018-01-20 13:04:48 · 5752 阅读 · 2 评论 -
ASP.NET WebApi(三)【接口参数不再困惑:传参详解】
本篇打算通过get、post、put、delete四种请求方式分别谈谈基础类型(包括int/string/datetime等)、实体、数组等类型的参数如何传递。回到顶部一、get请求对于取数据,我们使用最多的应该就是get请求了吧。下面通过几个示例看看我们的get请求参数传递。1、基础类型参数[HttpGet]public string GetAllChargingData(int id, string name){ return "ChargingData" + id;}$.a转载 2018-01-20 16:02:31 · 2106 阅读 · 1 评论 -
ASP.NET WebApi(四)【身份认证解决方案:Basic基础认证】
一、为什么需要身份认证在前言里面,我们说了,如果没有启用身份认证,那么任何匿名用户只要知道了我们服务的url,就能随意访问我们的服务接口,从而访问或修改数据库。1、我们不加身份认证,匿名用户可以直接通过url随意访问接口:可以看到,匿名用户直接通过url就能访问我们的数据接口,最终会发生什么事,大家可以随意畅想。2、增加了身份认证之后,只有带了我们访问票据的请求才能访问我们的接口。例如我们直接通过url访问,会返回401如果是正常流程的请求,带了票据,就OK了。可以看到,正常流程的请求转载 2018-01-20 17:07:14 · 1247 阅读 · 0 评论 -
ASP.NET WebApi(五)【接口返回值不困惑:返回值类型详解】
使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型void无返回值IHttpActionResultHttpResponseMessage自定义类型此篇就围绕这四块分别来看看它们的使用。一、void无返回值void关键字我们都不陌生,它申明方法没有返回值。它的使用也很简单,我们来看一个示例就能明白。 public class ORDER { public string ID { get; set; } public str转载 2018-01-20 17:09:04 · 2981 阅读 · 0 评论 -
ASP.NET WebApi(六)【异常处理解决方案】
一、使用异常筛选器捕获所有异常我们知道,一般情况下,WebApi作为服务使用,每次客户端发送http请求到我们的WebApi服务里面,服务端得到结果输出response到客户端。这个过程中,一旦服务端发生异常,会统一向客户端返回500的错误。 [HttpGet] public string GetAllChargingData([FromUri]TB_CHARGING转载 2018-01-20 17:43:52 · 1937 阅读 · 0 评论 -
ASP.NET WebApi(七)【路由机制剖析:你准备好了吗?】
前言:从MVC到WebApi,路由机制一直是伴随着这些技术的一个重要组成部分。它可以很简单:如果你仅仅只需要会用一些简单的路由,如/Home/Index,那么你只需要配置一个默认路由就能简单搞定;它可以很神秘:你的url可以千变万化,看到一些看似“无厘头”的url,感觉很难理解它如何找到匹配的action,例如/api/user/1/detail,这样一个url可以让你纠结半天。它可以很晦涩:当面试转载 2018-01-20 18:30:31 · 666 阅读 · 0 评论 -
Web Api Route属性定义
ASP.NET Web API路由,简单来说,就是把客户端请求映射到对应的Action上的过程。在”ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置”一文中,体验了通过模版、惯例、HTTP方法来设置路由,这种做法的好处是把路由模版统一放在了App_Start文件夹下的WebApiConfig类中,方便管理,但缺点是不够灵活。REST把一切都看成资源,有时候,一个资源转载 2018-02-07 17:30:38 · 1387 阅读 · 0 评论 -
ASP.NET Web API 2:Action的返回类型
Web API控制器中的Action方法有如下几种返回类型:voidHttpResponseMessageIHttpActionResult其它类型基于上面几种不同的返回类型,Web API创建HTTP响应消息的机制也不同。返回类型 Web API创建HTTP响应消息的机制void 返回HTTP状态码204(无内容)HttpResponseMessage 直接转换成HTTP响应消息...转载 2019-05-08 23:04:03 · 711 阅读 · 0 评论 -
WebApi返回各种类型(图片/json数据/字符串)
using System.IO; /// <summary> /// WebApi返回图片 /// </summary> public HttpResponseMessage GetQrCode() { var imgPath = @"D:\ITdosCom\Images\itdos.jpg"; //从图片中读取byte ...转载 2019-05-08 23:15:38 · 3315 阅读 · 0 评论 -
ASP.NET Web api 身份认证原理解析
类图:TestController.csusing Newtonsoft.Json;using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Net.Http.Headers;using System.Web;u原创 2017-09-22 10:16:13 · 6094 阅读 · 0 评论