首页
学习
活动
专区
圈层
工具
发布

再说表单验证,在Web Api中使用ModelState进行接口参数验证

写在前面 上篇文章中说到了表单验证的问题,然后尝试了一下用扩展方法实现链式编程,评论区大家讨论的非常激烈也推荐了一些很强大的验证插件。...其中一位园友提到了说可以使用MVC的ModelState,因为之前通常都在Web项目中用没在Api项目用过,想想Api方法接收的多参数都封装成了一个实体类,独立于数据Model层,这样其实很方便用ModelState...认识ModelState 我们都知道在MVC中使用ModelState实现表单验证非常简单,借助jquery.validate.unobtrusive这个插件就能轻松的在页面上输出错误信息,详细的介绍可以参考这篇文章...那就创建一个Attribute类并继承System.Web.Http.Filters .ActionFilterAttribute,然后重写OnActionExecuting方法,具体内容就是刚才那一大坨稍微调整一下...当然了,这个Attribute我指定了使用范围包含Class,直接打在Controller上面也是阔以滴~这样就不用每个Action都写了。

3.4K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ASP.NET Web API 应用教程(一) ——数据流使用

    相信已经有很多文章来介绍ASP.Net Web API 技术,本系列文章主要介绍如何使用数据流,HTTPS,以及可扩展的Web API 方面的技术,系列文章主要有三篇内容。...主要内容如下: I  数据流 II 使用HTTPS III 可扩展的Web API 文档 项目环境要求 VS 2012(SP4)及以上, .Net 框架4.5.1 Nuget包,可在packages.config...Web API 基于HTTP 协议建立的,是构建 RESTful 服务和处理数据的理想平台,旨在使用HTTP 技术实现对多平台的支持。...个人认为使用Web API创建应用需要注意的三个关键点: 采用服务及方法满足的目标 每个方法的输入,如请求 每个方法的输出,如响应 通常情况下,Asp.Net Web API 定义method语法与HTTP...ASP.NET Web API 能够处理客户端与服务器端传输的重量级的数据流,数据流可来源于目录文件,也可是数据库中的二进制文件。

    2.6K80

    【愚公系列】2023年10月 .NET CORE工具案例-DeveloperSharp(http请求)

    http请求调用(Post与Get) 高效分页 Web服务/WebApi的负载均衡 数据库的负载均衡,以及读写分离 CORS跨域访问 UUID全球通用唯一识别码 MQ消息队列(请另行使用DeveloperSharp.RabbitMQ...包) Redis缓存(请另行使用DeveloperSharp.Redis包) “异种数据库”的负载均衡 其他相关功能 一、http请求 1.GET HTTP GET请求是HTTP协议中的一种请求方法,用于向指定服务器请求某个资源...与HTTP中的GET请求不同,POST请求将表单数据放在HTTP请求主体中,而不是将其附加在URL后面。POST请求常用于向服务器提交表单数据,如用户登录、注册等操作。...IUtility IU = new Utility(); //调用地址 string requestUrl = "https://prekaka.rainfn.com/kaka/api...GetAsync方法接受一个URL并返回一个字符串,PostAsync方法接受一个URL和一个表示请求体的字符串,并返回一个字符串。

    20810

    集高性能高可扩展性于一体的声明式http客户端库-WebApiClientCore

    原始文本 [HttpPost] Task PostAsync([RawStringContent("txt/plain")] string text); [HttpPost] Task PostAsync...] Task PostAsync([RawXmlContent] string xml); 原始表单内容 [HttpPost] Task PostAsync([RawFormContent] string...ITokenProviderFactory创建ITokenProvider,然后使用ITokenProvider获取token,最后将token应用到请求消息中 OAuthTokenHandler 属于...OAuthToken特性 OAuthTokenAttribute属于WebApiClientCore框架层,很容易操控请求内容和响应模型,比如将token作为表单字段添加到既有请求表单中,或者读取响应消息反序列化之后对应的业务模型都非常方便...在服务器颁发token之后,如果服务器的token丢失了,使用OAuthTokenAttribute会得到一次失败的请求,本次失败的请求无法避免。

    1.1K40

    【愚公系列】2023年10月 .NET CORE工具案例-HTTP请求之WebApiClientCore

    在这个例子中,我们使用ASP.NET Core创建一个Web API服务,供客户端测试使用。...可以使用JsonFormField来将一个Json格式的对象转换为表单字段添加到请求中。...该方法的目的是为了防止服务端返回的响应格式与客户端期望的格式不匹配,从而导致数据无法解析或解析错误的情况发生。...12.6 表单字段排序 在WebApiClientCore中,我们可以使用FormContentAttribute来指定表单内容。它可以将对象转换为表单数据,以便在HTTP POST请求中使用。...而表单字段排序则是指在发送表单数据时,按照字母顺序对表单字段进行排序。这样做有利于提高表单数据的可读性和可维护性,同时还可以保证数据的顺序一致性,避免出现因字段顺序不同而导致的问题。

    2.6K11

    微服务实战(八):落地微服务架构到直销系统(服务高可用性)

    这里通常会有两个方面的原因造成微服务无法访问,一是微服务所在的Web Server或主机停止响应或关机、二是微服务并发访问量太大,造成资源大量占用,无法响应用户请求。...NLB是将多台Web服务器组合成一个虚拟的Web服务器,当然还要通过端口组织。...在IT运维调整的情况下,微服务所在的域名或IP地址可能会发生变化,这样前端用户在拿到新的域名或IP地址前,将无法正常调用服务。 为了解决这个问题,我们就需要将微服务通过一个API网关组织起来。...有了配置文件后,就可以使用相关的API网关库加载配置文件到API网关的WebApi中。 2.WebApi自动注册地址信息 如果总是通过手工配置映射信息,还是比较麻烦。...我们可以让WebApi自己将信息注册到一个服务中心中,然后API网关利用这个服务中心的信息实现请求的自动路由。

    1.1K30

    Spark读写HBase之使用Spark自带的API以及使用Bulk Load将大量数据导入HBase

    和hadoop旧版API实现的,大部分代码都一样,需要注意的是新版API使用中Job类,旧版API使用JobConf类,另外导包的时候新版的相关jar包在org.apache.hadoop.mapreduce...写数据的优化:Bulk Load 以上写数据的过程将数据一条条插入到Hbase中,这种方式运行慢且在导入的过程的占用Region资源导致效率低下,所以很不适合一次性导入大量数据,解决办法就是使用 Bulk...Bulk Load 的实现原理是通过一个 MapReduce Job 来实现的,通过 Job 直接生成一个 HBase 的内部 HFile 格式文件,用来形成一个特殊的 HBase 数据表,然后直接将数据文件加载到运行的集群中...与使用HBase API相比,使用Bulkload导入数据占用更少的CPU和网络资源。 接下来介绍在spark中如何使用 Bulk Load 方式批量导入数据到 HBase 中。...参考文章: Spark读取Hbase中的数据 使用Spark读取HBase中的数据 在Spark上通过BulkLoad快速将海量数据导入到Hbase Spark doBulkLoad数据进入hbase

    3.6K20

    使用Spring Boot开发一个属于自己的web Api接口返回JSON数据

    接口,返回JSON数据 ---- 我们在搭建好的Maven项目里面新建一个包,创建java文件 相关参数: @RestController 作用:用于标记这个类是一个控制器,返回JSON数据的时候使用...,如果使用这个注解,则接口返回数据会被序列化为JSON @RequestMapping 作用:路由映射,用于类上做1级路径;用于某个方法上做子路径 代码如下 package net.test.demo.controller...Spring Boot的默认端口访问为8080,当然这个也可也在相关的配置文件进行修改,访问测试可以使用浏览器输入localhost:8080/api/v1/test/testJson,在日常工作中,JSON...格式的数据也是后端跟前端交互使用最多的一种数据格式,也可也使用接口测试软件PostMan,测试结果如下,可以成功返回Json数据 ?...到这里,一个基于Spring Boot搭建的后端Web接口搭建完成。

    2.9K10

    Python【算法中心 02】Web框架Django管理页面使用(管理员账号创建+API使用+应用添加)GreenPlum数据库引擎及API测试

    [y/N]: y# 创建成功Superuser created successfully.页面登录http://host:port/admin/输入账号名称和密码登录:2.GreenPlum管理页面使用...PostgreSQL,需要 psycopg2 包,使用 GreenPlum 同样是需要的,安装 psycopg2-binary 命令如下:# 安装命令pip3 install psycopg2-binary...PG数据库还是存在一些语法不一致的地方,这里将SQLite里的10张表同步到GP并创建auth_user表id字段的自增序列:CREATE SEQUENCE greenplum_sequence START...2.3 Django数据库API使用简单测试,更多API查看 官网。...:修改数据:3.总结Django 对 GreenPlum 数据库的支持不好,几乎不可用,可以非官方支持的数据库可放弃使用其数据库 API。

    20500

    童鞋,请查收

    昨天有童鞋在群里面问:怎么使用HttpClient发送文件?...花一个小时阅读了MDN Web协议,写就了HttpClient发送文件的实例, 看官自取。 02 头脑风暴 我们跟随常见的表单上传文件思路来实现HttpClinet上传文件。...03 照葫芦画瓢 以上就是常规的Html表单上传文件的协议分析,回到本文主题, 这次会使用HttpClient编码形式发送只含有一个文件表单域的请求 (依旧利用的multipart/form-data...每当做web开发出现阻塞的时候,我就掏出web利器Fiddler,跟着Fiddler去策马奔腾吧。 全文总结 1.对常规html表单上传文件的功能,做协议级分析。...2.根据分析结果,HttpClient使用同样的姿势发送文件: 使用multipart/form-data(多部分表单媒体类型)发起上传请求。

    1K20

    ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了

    Core Web API 开发中使用Oracle+Dapper的组合的文章吧。...注:虽然本文内容是翻译,但是楼主刚在2.1环境是使用成功,中间也没有任何阻碍,只是鉴于本人电脑配置太差无法安装Oracle数据库,所以无法进行演示,再者是表示对原作者的尊重,所以在这里只是对原作内容进行翻译然后加上自己的理解稍作改动...本文的重点是介绍如何使用Dapper ORM+Oracle数据库的组合来创建ASP.NET Core Web API。...要在PostMan中进行测试,首先选择“Get”作为方法,并提供URL以获取员工记录列表,然后单击“发送”按钮,该按钮将向我们的API发出请求并使用我们文章开始时创建的数据库脚本来获取我们在此处添加的员工列表数据...最后 所以,今天,我们已经学会了如何创建ASP.NET Core Web API项目并使用Dapper与Oracle数据库一起使用。 我希望这篇文章能对你有所帮助。

    2.2K10

    使用 Python 的 requests 库发送 POST 请求(data vs json 参数详解)

    在使用 Python 进行 Web 开发时,经常需要通过 HTTP 请求与服务器进行数据交换。requests 是一个流行的 Python 库,用于发送 HTTP 请求。...当我们将数据传递给 data 参数时,requests 会将其编码为表单数据,并将 Content-Type 设置为 application/x-www-form-urlencoded。...= requests.post(url, data=payload)在这个示例中,payload 是一个字典,它会被编码为表单数据发送到指定的 URL。...requests 会自动将 payload 转换为 JSON 格式,并以 JSON 的形式发送到指定的 URL。3....理解并正确使用这两个参数,能够帮助我们在 Python Web 开发中更加高效地处理和传输数据,特别是在与 RESTful API 交互时,能够更好地支持复杂的数据结构和 JSON 数据传输需求。

    10K20
    领券