设计师自己的网站wordpress $

当前位置: 首页 > news >正文

设计师自己的网站,wordpress $_file,物联网平台是干什么的用的,做全网影视网站的风险目录 一、请求二、传递单个参数三、传递多个参数四、传递对象五、RequestParam注解 后端参数重命名#xff08;后端参数映射#xff09;六、传递数组七、传递集合#xff0c;RequestParam八、传递JSON数据8.1 JSON字符串和Java对象互转8.1.1 Test注解8.1.2 Java对象转JSON8.… 目录 一、请求二、传递单个参数三、传递多个参数四、传递对象五、RequestParam注解 后端参数重命名后端参数映射六、传递数组七、传递集合RequestParam八、传递JSON数据8.1 JSON字符串和Java对象互转8.1.1 Test注解8.1.2 Java对象转JSON8.1.3 JSON转Java对象 8.2 传递JSON8.3 后端实现 一、请求 访问不同的路径, 就是发送不同的请求. 在发送请求时, 可能会带⼀些参数, 所以学习Spring的请求,主要是学习如何传递参数到后端以及后端如何接收. 传递参数, 咱们主要是使⽤浏览器和Postman来模拟. 二、传递单个参数 接收单个参数, 在 Spring MVC 中直接⽤⽅法中的参数就可以 RestController RequestMapping(value /user) public class UserController {RequestMapping(value /m1)public String m1(String request) {return request; } }使用浏览器访问http://127.0.0.1:8080/user/m1?requesthello 使用Postman:
这两种都是键值对模型其中的键要与方法的参数名一样。 注意事项 使⽤基本类型来接收参数时, 参数必须传(除boolean类型), 否则会报500错误 类型不匹配时, 会报400错误.
三、传递多个参数 和接收单个参数⼀样, 直接使⽤⽅法的参数接收即可. 使⽤多个形参. RestController RequestMapping(value /user) public class UserController {RequestMapping(value /m3)public String m3(String s1, int a) {return s1参数a;} } 使用浏览器访问http://127.0.0.1:8080/user/m3?s1你好a100 使用Postman
注意事项 这两种都是键值对模型其中的键要与方法的参数名一样。参数的位置是不影响后端获取参数的结果.基本类型来接收参数时一样有上述问题。 四、传递对象 如果参数⽐较多时, ⽅法声明就需要有很多形参. 并且后续每次新增⼀个参数, 也需要修改⽅法声明. 我们不妨把这些参数封装为⼀个对象. 实例 public class Person {private int id;private String name;private String password;public int getId() {return id;}public void setId(int id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}Overridepublic String toString() {return Person{ id id , name name \ , password password \ };} }RestController RequestMapping(value /user) public class UserController {RequestMapping(value /m4)public String m4(Person person){return person.toString();} } 注意事项 要传类中的成员名不包含类对象名。由于类定义会给成员默认值这里没有基本类型不传值报错问题。 五、RequestParam注解 后端参数重命名后端参数映射 某些特殊的情况下前端传递的参数 key 和我们后端接收的 key 可以不⼀致。 使用RequestParam注解 实例 RestController RequestMapping(value /user) public class UserController {RequestMapping(value /m5)public String m5(RequestParam(value s)String string) {return string;} }注意事项 使⽤ RequestParam 进⾏参数重命名时, 请求参数只能和 RequestParam 声明的名称⼀ 致, 才能进⾏参数绑定和赋值.使⽤ RequestParam 进⾏参数重命名时, 参数就变成了必传参数.要将参数变成非必传参数需要将required false 六、传递数组 Spring MVC 可以⾃动绑定数组参数的赋值 实例 RestController RequestMapping(value /user) public class UserController {RequestMapping(value /m6)public String m6(String[] strings) {return Arrays.toString(strings);} }注意事项 使用Postman传参的时候每个数组值通过逗号隔开。当需要传逗号作为值的时候就需要传解码encode后的值。在使用浏览器URL访问时也需要将非英文字母全部encode。 七、传递集合RequestParam 集合参数和数组类似, 同⼀个请求参数名有为多个, 且需要使⽤ RequestParam 绑定参数关系 实例 RestController RequestMapping(value /user) public class UserController {RequestMapping(value /m7)public String m7(RequestParam ArrayListString strings) {return strings.toString();} }注意事项 与传递数组同 八、传递JSON数据 JSON就是⼀种数据格式, 有⾃⼰的格式和语法, 使⽤⽂本表⽰⼀个对象或数组的信息, 因此JSON本质是字符串. 主要负责在不同的语⾔中数据传递和交换. JOSN语法 数据在 键值对(Key-Value) 中数据由逗号, 分隔对象⽤ { } 表⽰数组⽤ [ ] 表⽰值可以为对象, 也可以为数组, 数组中可以包含多个对象键key和值value之间通过冒号分割键值对之间使用逗号分割 JSON优点 简单易⽤: 语法简单易于理解和编写可以快速地进⾏数据交换跨平台⽀持: JSON可以被多种编程语⾔解析和⽣成, 可以在不同的平台和语⾔之间进⾏数据交换和 传输轻量级: 相较于XML格式, JSON数据格式更加轻量级, 传输数据时占⽤带宽较⼩, 可以提⾼数据传输 速度易于扩展: JSON的数据结构灵活⽀持嵌套对象和数组等复杂的数据结构便于扩展和使⽤安全性: JSON数据格式是⼀种纯⽂本格式不包含可执⾏代码, 不会执⾏恶意代码因此具有较⾼ 的安全性 8.1 JSON字符串和Java对象互转 我们在这介绍使用Jackson方式转换因为这个是Spring中集成了的不用引入依赖。 还有fastjsongson。 8.1.1 Test注解 在我们写测试代码时我们在test这个包下面写。 我们可以直接写main方法也可以使用Test这个方法注解在测试方法前面加上这个注解作用相当于为方法开一个线程。所以可以写多个被Test修饰的方法同时运行。 8.1.2 Java对象转JSON 使用类ObjectMapper下面的writeValueAsString方法。类对象必须要有无参构造函数。 步骤 创建ObjectMapper对象创建对象直接调用writeValueAsString 将对象转换为JSON Test void testObjectToJson() throws JsonProcessingException {ObjectMapper objectMapper new ObjectMapper();//创建对象Person person new Person();person.setId(1);person.setName(zhangsan);person.setPassword(111);//对象转JSONString j objectMapper.writeValueAsString(person);System.out.println(j);}8.1.3 JSON转Java对象 使用类ObjectMapper下面的readValue方法。 创建ObjectMapper对象创建json直接调用readValue将json转换为对象 Testvoid testJsonToObject() throws JsonProcessingException {ObjectMapper objectMapper new ObjectMapper();//创建jsonString s {\id:1,\name:\zhangsan\,\password:\111};//JSON转对象Person person objectMapper.readValue(s,Person.class);System.out.println(person);}8.2 传递JSON 8.3 后端实现 我们只需要在方法参数上加上RequestBody这个注解。 RequestBody: 请求正⽂意思是这个注解作⽤在请求正⽂的数据绑定请求参数必须在写在请求正⽂中 RequestMapping(value /j1)public String j1(RequestBody Person person) {return person.toString();}postman传参