public class BootStrapPage<T> {
private Long total;
private List<T> rows;
private int limit=0;
private int offset = 0;
private String order ="asc";
}
然后control直接接收就行了。
public List<Test> queryTest(BootStrapPage temp){}
在applicationyml或者properties文件中添加:
infoaddress=USA
infocompany=Spring
infodegree=high
激活 @ConfigurationProperties
我们可以通过下面几种方式将其添加到应用上下文中
首先,我们可以通过添加 @Component 注解让 Component Scan 扫描到
资源目录下建立config/db-configproperties:
dbusername=root
dbpassword=123456
@Autowired
private Environment env;
// 获取参数
String getProperty(String key);
@conditionalonproperty(name = "XXX",havingValue = "true")
参考文献
优雅的解决问题
一、 问题场景
我们在研发过程中普遍会遇到一种情况,一个请求过来,会同时用到body和header里面的参数,如果分别从body和header中获取参数的话,简直Low到爆!!!在这儿给各位支个招。
二、 解决方案
构建思路:自定义注解 + 自定义参数解析器 + 注册解析器
1 自定义注解 RequestBodyAndHeader
2 自定义参数解析器 RequestBodyAndHeaderResolver
红色框标出了两部分重点:
重点1: 合并Body和Header中的参数,其中使用BeanUtilspopulate的特性来处理此场景;
重点2:判断是否支持我们自定义的RequestBodyAndHeader。
3 在配置文件中 注册自定义的参数解析器
4 定义测试用的参数对象
5 定义测试接口
6 通过Postman测试可用性
61 设置header参数和content-type
62 设置对象参数
63 提交请求
查看程序打印结果,Bingo!header携带的参数自动赋值到了对象中。
三、简单总结
这里主要是运用RequestResponseBodyMethodProcessor的特性来解决问题,关于其细节可参考官方的API文档。
#map 第一种方式
datapersonname=zhangsan
datapersonsex=man
datapersonage=11
datapersonurl=xxxxxxxx
#map 第二种方式
dataperson[name]=zhangsan
dataperson[sex]=man
dataperson[age]=11
dataperson[url]=xxxxxxxx
#list 第一种方式
datalist[0]=apple0
datalist[1]=apple1
datalist[2]=apple2
#list 第二种方式
datalist=apple0,apple1,apple2
plugins>
<plugin>
<groupId>orgspringframeworkboot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
添加到pom文件里面,然后mvn package打成的jar就可以直接java -jar myprojectjar运行了
描述
接口的参数验证(比如:字段长度、字段需要符合某个格式)
1 PathVariable校验
直接将参数验证的条件加到参数后面, {group:\d{6}} 表示参数group必须是6位的数据
示例
访问一个错误路径,会得到 404 响应
结果
2 RequestParam校验
尝试使用非法值访问
结果
对于直接JSON消息体传参,同样可以定义校验规则
尝试使用非法值访问
结果
参考链接
springboot 参数校验详解
SpringBoot里参数校验/参数验证
springboot支持多种配置文件读取方式,了解这些方式有助于查询和定位问题以及选择合适的方式进行开发。
springboot默认的配置文件是applicationproperties,其存放的位置可以有以下几种,从上到下按照优先级排序如下,注意,当存在重复的配置文件时,高优先级的的将会覆盖低优先级的。
若不想使用默认的applicationproperties配置文件,也可以自定义配置文件名,有两种方式:
这里可以一次性将所有的配置全部加载进入配置文件,然后在使用到的类中注入Configuration 实例,使用get方法获取属性。
在实际工作中,需要根据开发、测试和生产配置不同环境的配置文件。可以在合适的路径下(见第一节配置文件位置)存放 application-devproperties,application-testproperties,application-prodproperties 三个配置文件分别代表三个不同的环境,在springboot应用启动时传入指定的参数,例如 --springprofilesactive=prod 指定使用 application-prodproperties 文件,另外也可以采用将 springprofilesactive=prod 配置到系统环境变量中,使用 --springconfiglocation=/config/application-{springprofilesactive}properties ,springboot还支持加载多个不同的配置文件,例如
--springprofilesactive=prod,test
spring boot 中的Controller或者RestController接收参数的方法是一样的。这章目标是对几种常用的传参都写个例子。
创建package: combiboheartdemosapi,这个包里放置API接口的RestController
在combiboheartdemosapi包中创建一个class: ParamController。这章的示例都在这个类中进行。
路径中包含参数,这种情况适合与传递一个不能为空值的参数。比如有些应用中,查询某个企业的数据,必须包含企业的编号,就可以在地址里接收这个编号。
在ParamController中增加一个函数PathParam
路径中的参数通过{sn}接收值。
使用名称接收参数比较直观,我用得比较多。不用注解。跟客户端传的参数同名就可以接收到。如下例子中的reqParam
也可以用get传参
上面用参数名称接收值,只要与请求时的名称一致就能接收到参数值。如果需要传递的参数比较多的时候,就不适合一个一个参数写在函数里了,那样很不方便,也容易出错。可以把这些参数写到一个对象里接收。如下例子
创建一个package: combiboheartdemosmodel,创建一个类Person
用Person对象接收参数
虽然这样的方式也能接收get传参,但是因为需要传的参数多了,用get显得不太方便。这里就不测试GET方式请求了。
有的时候,需要接收JSON传参。比如某些服务的调用需要开发一个回调函数接收对方的回调并获得参数值为结果,对方回调回来的值是JSON格式的值,这时候就需要接收JSON传参数了。用RequestBody可以接收到JSON传值。
需要JSON请求才能正确接到值
以上就是关于spring mvc后台怎么获取 bootstrap table的参数全部的内容,包括:spring mvc后台怎么获取 bootstrap table的参数、Spring Boot读取配置的几种方式、【玩转SpringBoot】优雅的整合Body和Header参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)