delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)

spring boot 传参

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

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

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

63aa751d96f640d1921974a4c74c6b0c

PathVariable

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

在ParamController中增加一个函数PathParam

package com.biboheart.demos.api;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ParamController { @RequestMapping(value = "/demo/param/path/{sn}") public String pathParam(@PathVariable String sn) { return "接收到参数:" + sn; }}
b5a325c943c24879854d189ec6e3b764

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

使用名称接收参数

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

package com.biboheart.demos.api;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ParamController { .... @RequestMapping(value = "/demo/param/req") public String reqParam(String name, Integer age) { return "接收到参数{name:" + name + ";age:" + age + "}"; }}
7a60ccaa5c444479a17dc976fd915dc0

也可以用get传参

39e9658debe44598af9110c73af0d9da

使用对象接收参数

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

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

53c8f289d2384cb1851680c9dda6701f
package com.biboheart.demos.model;import lombok.Data;import lombok.ToString;@Data@ToStringpublic class Person { private String name; private Integer age; private Integer sex; private String addres;}

用Person对象接收参数

package com.biboheart.demos.api;import com.biboheart.demos.model.Person;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ParamController { ... @RequestMapping(value = "/demo/param/model") public String modelParam(Person person) { return "接收到参数:" + person.toString(); }}

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

3345e49dd6ad458dbf6e681f18463010

RequestBody

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

package com.biboheart.demos.api;import com.biboheart.demos.model.Person;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ParamController { ... @RequestMapping(value = "/demo/param/json") public String jsonParam(@RequestBody Person person) { return "接收到参数:" + person.toString(); }}

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

f962d1a2add242d78da78ad6dd88d39c

设置请求头

d2c228adcbc7446a8b86d52d39fd9b42

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA计算bigd,计算Java中BigInteger的功能

pow()在Java中使用BigInteger方法来计算BigInteger的功效。首先,让我们创建一些对象。BigInteger one, two;one new BigInteger("5");执行电源操作并将其分配给第二个对象-//电源操作two one.pow(3);以下是一个例子-示例import java.math.*;public clas…

python读取二进制文件_如何用python读取二进制文件?

我发现用Python读取二进制文件特别困难。你能帮我一把吗?我需要读取这个文件,在Fortran 90中,该文件很容易被int*4 n_particles, n_groups real*4 group_id(n_particles) read (*) n_particles, n_groups read (*) (group_id(j),j1,n_particl…

lastindexof php,javascript 中查找指定字符串indexOf(),lastIndexOf(),match()

在javascript中,有以下三个方法均可实现在字符串中查找指定的字符及字符串。str.indexOf(); 此方法:查找字符在字符串对象中第一次出现的位置。存在,则返回字符串所在的位置。不存在,则返回-1。str.lastIndexOf(); 该方法查找字符…

ssh-copy-id命令不存在_Redis(三)- 常见命令

步骤1:5种数据类型步骤2:String 字符串步骤3:List 列表步骤4:Hash 字典,哈希表步骤5:Set 集合步骤6:Sorted Set 有序集合步骤7:官方命令手册步骤 1 : 5种数据类型Redis目前有5种数据类型,分别是:String(字符串)List&am…

matlab中极大似然估计法的应用程序,matlab用fmincon函数求极大似然估计

%l1_s分别是不同实验条件下的数据,下面的函数为极大既然函数的负值,先用fmincon求解,运行出错了。function [l1_s,l2_s,l3_s,l4_s,l5_s,l6_s] readandevaluate(filename)global l1_s l2_s l3_s l4_s l5_s l6_s;filename li_s.xlsx;l1_s xl…

python 字符串替换_学完Python打算出去找工作,怕找不到?看完这篇你可以提高通过率...

面试题目一:Python是如何进行类型转换的?1 函数 描述 2 int(x [,base ]) 将x转换为一个整数 3 long(x [,base ]) 将x转换为一个长整数 4 float(x ) 将x转换到一个浮点数 5 complex(real [,imag ]) 创建一个复数 6 str(x ) 将对象 x 转换为字符串 7 repr(…

matlab bmp hsi,matlab中RGB与HSI图像转化

姓名:边颖超学号:19021210974编程实现RGB与HSI彩色空间的转换,将一幅彩色图像分解为H、S、I三个分量,并显示这三个分量所对应的灰度图像。(1)利用imread函数读入灰度图片hurricane,并命名为Original Imagel&#xff1b…

vue.js php,vue.js去哪下载

vue.js可以去vue官网下载,其下载链接为“vuejs.org/v2/guide/installation.html”,然后用“本教程操作环境:Windows7系统、vue2.5.16版,该方法适用于所有品牌电脑。 vue.js下载及安装的三种方法 要下载安装vue首先得下载安装node.…

python url加密_使用base64加密在URL传递(python和php版本)

把base64加密后在url传输,会把““,”/”分别替换为”-“,”_”,以及会把末尾的等号“”去掉。 另外base64加密后的长度必然是4的倍数,所以可以根据这个还原“”号 解密的过程就是这个的逆向。 注意:python…

php扑克牌排序,PHP实现判断扑克牌5张连续

// 思路//先给数组排序、检查数组中是否有2个值相等的&#xff0c;如果有则直接不是&#xff1b;//判断数组中 0 的个数 数组中两个值之间比较的差值相加 < 0的个数&#xff0c;否则补数不够$arr array(1, 0, 0, 1, 0);if(count($arr) < 5) {echo ‘arr not five’;exit…

bootstrap table无法服务器分页_[精选] MySQL百万数据,你如何用分页来查询数据

文章来自&#xff1a;https://www.cnblogs.com/lxwphp/p/9237331.html商务合作: 请加微信 2230304070精选文章正文在开发过程中我们经常会使用分页&#xff0c;核心技术是使用limit进行数据的读取&#xff0c;在使用limit进行分页的测试过程中&#xff0c;得到以下数据&#xf…

excel的mysql语言,Mysql中文乱码及导出sql语句和Excel的相关解决方法

这几天基于Heritrix写了一个爬虫&#xff0c;用到mysql&#xff0c;在导入导出数据时&#xff0c;遇到一些乱码问题&#xff0c;好不容易解决了&#xff0c;记录一下&#xff0c;以备查看。一、导出数据。先说明一下自己的环境&#xff1a;Mac OS X 10.8.3, MySQL Community Se…

conda pip安装在哪里_Python环境篇-Minicondaamp;Pip使用汇总

一、下载推荐miniconda&#xff0c;很方面管理python多版本环境&#xff0c;比Anaconda轻量。选择合适的版本&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/或者Linux上直接执行&#xff1a;wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/minic…

exchange java对象,【原】Java并发程序的一个应用Exchanger的实例

【原】Java并发程序的一个使用Exchanger的实例今天看了些Exchanger的资料&#xff0c;有个喝水的例子不错。我这里细化了以下&#xff0c;并得到实现。思路&#xff1a;有一个Drinker和一个Waiter&#xff0c;有两个杯子&#xff0c;一个空杯子&#xff0c;一个杯子有3升水&…

jquery 循环_jquery实现无限循环滚动

复制下面代码查看效果原文链接&#xff1a;https://blog.csdn.net/qq_45378970/article/details/108903054?utm_mediumdistribute.pc_category.none-task-blog-hot-4.nonecase&depth_1-utm_sourcedistribute.pc_category.none-task-blog-hot-4.nonecase&request_id作者…

html与java接口,JavaWeb学习——Servlet相关的接口和类

JavaWeb学习——Servlet相关的接口和类摘要&#xff1a;本文主要学习了Servlet相关的接口和类。Servlet的接口和类三种方式实现Servlet有三种方式&#xff1a;实现javax.servlet.Servlet接口。继承javax.servlet.GenericServlet类。继承javax.servlet.http.HttpServlet类。实现…

delphi7 获取dll的类_跟我学Java内存管理----JMM精华终章(类加载器)

1 类加载器1.1 类的加载过程当程序要使用某个类时&#xff0c;如果该类还未被加载到内存中&#xff0c;则系统会通过加载&#xff0c;连接&#xff0c;初始化三步来实现对这个类进行初始化。(1)加载就是指将class文件读入内存&#xff0c;并为之创建一个Class对象。任何类被使用…

php autoload静态,Composer 中自动加载 autoload_static 问题

看来不是我一个人遇到这个问题。IDE 报语法错误&#xff0c;$loader 在别的类里面使用了私有成员。但是这个代码可以运行。先说一下为什么会有autoload_static.php 这个文件&#xff0c;代码里面其实有说明。$useStaticLoader PHP_VERSION_ID > 50600 && !defined(…

huffman树_笃学不倦|c语言构造哈夫曼树哈夫曼编码

艾薇巴蒂&#xff01;许久不见甚是想念&#xff0c;想必这”涨姿势”的时刻大家已经期待许久了&#xff01;今天我们要共同学习的是c语言构造哈夫曼树-哈夫曼编码构造哈夫曼树首先&#xff0c;我们需要了解哈夫曼树是什么&#xff1a;相关知识点路径&#xff1a; 路径是指从一个…

推荐系统相关科技论文写作建议

如何写标题 1、用一句话概括你所做的工作&#xff1b; 2、字数忌长&#xff08;尽可能不要超过20单词&#xff0c;40-60 字符比较合适&#xff09;&#xff1b; 3、考虑搜索引擎的影响&#xff0c;包含关键词。 4、例子 例子1&#xff1a;Enhancing slope one recommendation…