我是这样使用SpringBoot(API传参)

我是这样使用SpringBoot(API传参),第1张

spring boot 中的Controller或者RestController接收参数的方法是一样的。这章目标是对几种常用的传参都写个例子。

创建package: com.biboheart.demos.api,这个包里放置API接口的RestController

在com.biboheart.demos.api包中创建一个class: ParamController。这章的示例都在这个类中进行。

路径中包含参数,这种情况适合与传递一个不能为空值的参数。比如有些应用中,查询某个企业的数据,必须包含企业的编号,就可以在地址里接收这个编号。

在ParamController中增加一个函数PathParam

路径中的参数通过{sn}接收值。

使用名称接收参数比较直观,我用得比较多。不用注解。跟客户端传的参数同名就可以接收到。如下例子中的reqParam

也可以用get传参

上面用参数名称接收值,只要与请求时的名称一致就能接收到参数值。如果需要传递的参数比较多的时候,就不适合一个一个参数写在函数里了,那样很不方便,也容易出错。可以把这些参数写到一个对象里接收。如下例子

创建一个package: com.biboheart.demos.model,创建一个类Person

用Person对象接收参数

虽然这样的方式也能接收get传参,但是因为需要传的参数多了,用get显得不太方便。这里就不测试GET方式请求了。

有的时候,需要接收JSON传参。比如某些服务的调用需要开发一个回调函数接收对方的回调并获得参数值为结果,对方回调回来的值是JSON格式的值,这时候就需要接收JSON传参数了。用RequestBody可以接收到JSON传值。

需要JSON请求才能正确接到值

springboot 的参数注入有多种方式   

类似与conpoment 的类注入的话  可以用springboot的注解

@ConfigurationProperties(prefix= "spring.merchantinfo" )

配置  如图所示

还有一种是直接注入@Autowired这种方式

单一属性值的注入 

如 

可以使用@Value注解

yml 的属性还有一个特点就是内部引用

同时  springboot yml的配置内部还自带了部分的特殊属性

# 随机字符串

com.didispace.blog.value=${random.value}

# 随机int

com.didispace.blog.number=${random.int}

# 随机long

com.didispace.blog.bignumber=${random.long}

# 10以内的随机数

com.didispace.blog.test1=${random.int(10)}

# 10-20的随机数

com.didispace.blog.test2=${random.int[10,20]}

为了应对不同的生产环境可能你需要不停的改配置 springboot 也有一个良好的解决方案


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11849525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存