webApi之FromUri和FromBody区别

ublic Link GetLink([FromUri] FileRequest fileRequest)

   {

       if (ModelState.IsValid)

       {

           var xml = WebConfigurationManager.AppSettings["appDiscoveryXml"];

           var wopiServer = WebConfigurationManager.AppSettings["appWopiServer"];

           bool updateEnabled = false;

           bool.TryParse(WebConfigurationManager.AppSettings["updateEnabled"], out updateEnabled);

           WopiAppHelper wopiHelper = new WopiAppHelper(HostingEnvironment.MapPath(xml), updateEnabled);

           var result = wopiHelper.GetDocumentLink(wopiServer + fileRequest.name);

           var rv = new Link

           {

               Url = result

           };

           return rv;

       }

       throw new ApplicationException("Invalid ModelState");

   }

 

  FileRequest类的定义


1

2

3

4

5

6

7

public class FileRequest

 {

     public string name { getset; }

     public string SelectedItemId { getset; }

     public IEnumerable<SelectListItem> Items { getset; }

 }

  

 这里的FromUri强制从url中读取FileRequest 对象,也就是说

    当访问Http://localhost:80?name=eric&SelectedItemId={Guid.NewGuid()}

此处将自动转换Uri中的参数作为对象属性忽略form传递的数据

而使用FromBody将强制从FormData中读取数据

而非URL中获取参数~

原文地址:https://www.cnblogs.com/Jeely/p/10958807.html

时间: 2024-10-17 00:14:09

webApi之FromUri和FromBody区别的相关文章

WebApi系列~FromUri参数自动解析成实体的要求

回到目录 关于webapi我之前写了一些文章,大家可以根据目录去浏览,今天要说的是个怪问题,也是被我忽略的一个问题,当你的Url参数需要被Api自动解析成实体的属性,实事上是要有条件的,不是所以属性都可以被自动赋值的,下面我们就来看看先决条件: 条件一:类属性名称必须和参数名称相同 条件二:API参数必须以[FromUri]来修饰 条件三:属性类型为“类”的,如果使用类名(导航属性在本类的名称,可以不是类的原名).属性名的形式,例如Page.PageIndex 条件四:属性类型为“数组,集合”时

webapi - 模型验证

本次要和大家分享的是webapi的模型验证,讲解的内容可能不单单是做验证,但都是围绕模型来说明的:首先来吐槽下,今天下午老板为自己买了套新办公家具,看起来挺好说明老板有钱,不好的是我们干技术的又成了搬运工(谁叫技术部男的多呢哈哈),话说让我们搬点儿什么小座椅板凳就够了吧,为什么4大箱的家具都让我们动手,每箱东西拆分出来每件几乎需要至少4个人才能挪到的东西,而且不少呢,这是让我们搬完后不用上班的节奏吧:我很想问的是买这么贵的东西,难道不给包送和组装?行政部门就不能请点搬运工,非要节约这点钱(技术可

WebAPI路由、参数绑定

? 一.测试Web API a)测试Web API可以用来检测请求和返回数据是否正常,可以使用Fiddler.Postman等工具.以Fiddler为例,这是一个http协议调试代理工具,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点.调试web应用.修改请求的数据,甚至可以修改服务器返回的数据. b)Fiddler会默认捕获所有进程的通信,可以在All Processes中Hide All然后在Composer-Parsed选项卡选择需要捕

Web API与AJAX:理解FormBody和 FormUri的WebAPI中的属性

这是这一系列文章"与 AJAX 的 Web API".在这一系列我们都解释消耗 Web API rest 风格的服务使用 jQuery ajax() 和其他方法的各种方法.您可以阅读我们以前的演示文稿,请访问下面的文章: 这条 exlains 的"FormBody"和"FormUri"属性以及如何使用它们的操作参数与消费上的客户端的数据.所以,让我们举个例子. 使用 FromUri 属性来发送数据 使用 FormUri 属性,我们可以将数据传递通

学习WebAPI笔记

参考博客: http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html http://www.cnblogs.com/babycool/category/605206.html http://www.cnblogs.com/wanliwang01/p/aspnet_webapi_base01.html(这一个实在没看懂) 总结: WebAPI 和MVC 使用起来区别不大,处理管道有些不一样,比如请求和相应的类型不一样HttpRe

ASP.NET Core MVC/WebAPi 模型绑定探索

前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用到了,你再去看理论性的文章时才会豁然开朗,这是我一直以来学习技术的方法.本文我们来讲解.NET Core中的模型绑定. 话题 在ASP.NET Core之前MVC和Web APi被分开,也就说其请求管道是独立的,而在ASP.NET Core中,WebAPi和MVC的请求管道被合并在一起,当我们建立控

Web API系列之二WebApi基础框架搭建

本文主要介绍如何搭建一个WebApi的项目.关于如何搭建WebApi的方式一共有两种: 一.通过vs直接新建一个WebApi的项目,步骤如下: 第一步: 新建一个空的Web应用程序,可以理解为作为WebApi的宿主 点击确定 第二步: 点击确定,创建成功! 这样就完成了一个WebApi项目的创建,vs会帮助我们导入相关的程序集和包,简称傻瓜式安装,哈哈! 二.从0开始安装 第一步: 点击确定! 第二步: 点击确定,完成一个空的Web应用程序搭建 然后手动添加相关WebApi的引用! 第三步:添加

【转】ASP.NET Core MVC/WebAPi 模型绑定探索

前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用到了,你再去看理论性的文章时才会豁然开朗,这是我一直以来学习技术的方法.本文我们来讲解.NET Core中的模型绑定. 话题 在ASP.NET Core之前MVC和Web APi被分开,也就说其请求管道是独立的,而在ASP.NET Core中,WebAPi和MVC的请求管道被合并在一起,当我们建立控

ABP官方文档翻译 5.2 动态We API层

动态Web APID层 创建动态Web API控制器 ForAll方法 重写ForAll ForMethods Http动词 WithVerb方法 HTTP特性 命名约定 API管理器 RemoteServie特性 动态Javascript代理 AJAX参数 单一服务脚本 Anaular集成 启用/禁用 包装结果 关于参数绑定 FormUrl和FormBody特性 DTOs对比原始类型 创建动态Web API控制器 这个文档是针对ASP.NET Web API的.如果你对ASP.NET Core