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

回到目录

关于webapi我之前写了一些文章,大家可以根据目录去浏览,今天要说的是个怪问题,也是被我忽略的一个问题,当你的Url参数需要被Api自动解析成实体的属性,实事上是要有条件的,不是所以属性都可以被自动赋值的,下面我们就来看看先决条件:

条件一:类属性名称必须和参数名称相同

条件二:API参数必须以[FromUri]来修饰

条件三:属性类型为“类”的,如果使用类名(导航属性在本类的名称,可以不是类的原名).属性名的形式,例如Page.PageIndex

条件四:属性类型为“数组,集合”时,如果带上下标,如类名[0].属性名的形式,例如OrderList[0].OrderId

条件五:属性为类时,要求这个类必须有空的购买方法

条件六:属性的set块,必须是public修饰的

一个输入参数为复杂类型的情景

API端直接接口具体的类型即可自动解析!

大家掌握了以上六点,基本上在GET请求时,参数化就没什么问题了!

当然有问题,可以找大叔!

回到目录

时间: 2024-11-05 06:25:38

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

利用反射自动封装成实体对象

利用此方法的时候需要传递的参数的名称,必须以行号结尾,去掉行号就是属性名称,比如页面传递name+rowNo,那么实体对象的属性名应该为name.代码如下 //获取页面数据,自动封装成bean对象 public List getObjectList(Class clazz,String[] rowNos) throws Exception{ List objList = new ArrayList(); for(int i=0;rowNos!=null && i<rowNos.len

自动将String类型的XML解析成实体类

package com.mooc.freemarker2dto; public class BaseDto { } package com.mooc.freemarker2dto; public class Book extends BaseDto{ private String name; private String author; private String year; private float price; public String getName() { return name;

jdbcTemplate query 将查询到的List自动影射成实体List

Spring API Doc的说明如下: RowMapper implementation that converts a row into a new instance of the specified mapped target class. The mapped target class must be a top-level class and it must have a default or no-arg constructor. Column values are mapped b

WebApi系列~StringContent参数需要添加MetaType对象

回到目录 对于api调用已经很多见了,在客户端去post一个请求到API服务端也是经常见到,但有时不注意,可能会引起一些问题,如为一个HttpContent参数进行赋值时,如果使用StringContent这个派生类,则需要显示声明一下mediatype,否则请求会出现415的错误. 之后找了一些资料,也算有了结果,就是为httpclient时,指定它的mediatype即可 再进行测试,数据可以正常到达POST请求的地址了. 回到目录

Google Test(GTest)使用方法和源码解析——参数自动填充技术分析和应用

在我们设计测试用例时,我们需要考虑很多场景.每个场景都可能要细致地考虑到到各个参数的选择.比如我们希望使用函数IsPrime检测10000以内字的数字,难道我们要写一万行代码么?(转载请指明出于breaksoftware的csdn博客) EXPECT_TRUE(IsPrime(0)); EXPECT_TRUE(IsPrime(1)); EXPECT_TRUE(IsPrime(2)); ...... EXPECT_TRUE(IsPrime(9999)); 这种写法明显是不合理的.GTest框架当然

c# 自动将string字符串转成实体属性的类型

Convert.ChangeType() 看到.net webapi中有[FromUri]来接收参数  可以将自动参数转换成字段属性的类型 baidu 了许多文章 都在自己造轮子  突然发下微软提供了这个方法 public static readonly BackArgs _args = new BackArgs(); protected override void OnInit(EventArgs e) { foreach (System.Reflection.PropertyInfo ite

代码收藏系列--php--加载sql文件并解析成数组

php加载sql文件,解析成以分号分割的数组.(支持存储过程和函数提取,自动过滤注释) /** * 加载sql文件为分号分割的数组 * <br />支持存储过程和函数提取,自动过滤注释 * <br />例如: var_export(load_sql_file('mysql_routing_example/fn_cdr_parse_accountcode.sql')); * @param string $path 文件路径 * @return boolean|array * @sin

菜鸟学习Spring——SpringMVC注解版将URL中的参数转成实体

一.概述 将URL中参数转成实体在我们项目中用的很多比如界面提交表单请求后台的Contorller的时候通过URL传递了一串参数到后台,后台通过Spring让界面的字段与实体的字段映射来实现给后台的实体属性赋值. 二.代码演示. 2.1 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-in

HandlerMethodArgumentResolver(一):Controller方法入参自动封装器(将参数parameter解析为值)【享学Spring MVC】

HandlerMethodArgumentResolver(一):Controller方法入参自动封装器(将参数parameter解析为值)[享学Spring MVC] 原文地址:https://www.cnblogs.com/hfultrastrong/p/12618488.html