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中获取参数~

posted @ 2019-06-01 10:48  DarJeely  阅读(3001)  评论(0编辑  收藏  举报