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,一经查实,立即删除!

相关文章

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.…

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

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

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

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

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

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

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

复制下面代码查看效果原文链接: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作者…

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

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

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

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

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

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

睡眠音频分割及识别问题(一)

问题描述 通过手机App的录音功能,获得用户一整夜的睡眠音频,对睡眠音频进行分割,并对睡眠阶段进行判定。 (1)假设条件一:用户在相对安静的环境下进行睡眠,背景音可能会出现风声、雨声、汽车噪音…

睡眠音频分割及识别问题(四)--YAMNet简介

简介 YAMNet模型是在 AudioSet 数据集(一个大型音频、视频数据集)上训练的音频事件分类器。 模型输入 该模型接收包含任意长度波形的float32一维张量或 NumPy数组,且满足范围[-1.0, 1.0]内的单声道16kHz样本。在内部,该算法将波…

对应oracle生成java对象,Java学习笔记(十三)——通过Netbeans开发环境生成oracle数据库中表的对应hibernate映射文件...

【前面的话】身体慢慢已经快好了,感觉真好,哈哈。这篇文章要通过Hibernate对数据库进行操作,而Netbeans可以直接通过数据库逆向生成对应的映射文件。基础文章,选择性阅读。【步骤】1、 在netbeans中选择服务,点击数据库…

qt如何实现backspace的功能_如何实现知识星球列表拖拽功能

本 篇讲解一下如何实现在知识星球中星球列表的拖拽,各位可能都知道,我创建了一个星球【Hi Android】,所以最近使用这个软件比较多,之前也写过关于这个软件如何生成分享卡的文章,就是那篇文章有小伙伴建议我写一个星球的…

睡眠音频分割及识别问题(五)--YAMNet进一步分析

简介 YAMNet 是一个经过预训练的深度网络,可基于 AudioSet-YouTube 语料库 预测 521 种音频事件类别,并采用Mobilenet_v1深度可分离卷积架构。 输入 模型训练所使用的音频特征计算方式如下: 所有音频均重采样为 16 kHz 单声道。 通过长度…

vb.net调用oracle存储过程,vbnet2008连接oracle增删改查学习笔记(经典crud_含存储过程).doc...

vbnet2008连接oracle增删改查学习笔记(经典crud_含存储过程).doc 我的VBNETORACLE增删改查学习笔记(本源码在VBNET2008下测试通过)学习VBNET有一段时间了,之前一直学习VB60。过度到NET后发现与之前所学习的有了相当大的变化。于是将编程经常用到的增删改查代码提炼出…

睡眠音频分割及识别问题(六)--输入输出及方案讨论

简介 2021年7月13日,我和我的三个研究生一起拜访了玉米树,和王总等一起针对睡眠音频分割及识别问题进行了深入的讨论,达成了如下共识。 输入 由于保存整个晚上的睡眠音频所需要的存储空间过大,目前拟采用每隔30分钟&#xff08…

睡眠音频分割及识别问题(七)--接口输入输出讨论

简介 关于接口输入输出的讨论。 输入 1、音频文件路径,类型为:字符串; 2、预测多标签类型的排名,前n名,类型为:整型。 处理 1、将输入的音频分割为多个以1s为时间单位的音频片段; 2、利用P…