springmvc json数据传递参数
2026/7/19 2:38:28 网站建设 项目流程

json数组
json对象(POJO)
json数组(POJO)

(1)加入 json的依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>


postman里面发送json数据;
GET:
Body-->raw-->Text-->JSON ;

(2)SpringMvcConfig类中添加:
@EnableWebMvc
可以开启由JSON数据转换为对象的功能。
它的功能不止如此,开启JSON数据转换为对象的功能只是其中一个。

//json对象
@RequestMapping("/listParamForJson")
@ResponseBody
public String listParamForJson(@RequestBody List<String> likes){
System.out.println("list common(json)参数传递 list==>"+ likes);
return "{'module':'list common for json param'}";
}

package com.ycl.config; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; import javax.servlet.Filter; public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer { @Override @NonNull protected Class<?>[] getRootConfigClasses(){ return new Class[0];} @Override @NonNull protected Class<?>[] getServletConfigClasses(){ return new Class[]{SpringMvcConfig.class};} @Override @NonNull protected String[] getServletMappings(){ return new String[]{"/"}; } //乱码处理 使用过滤器; @Nullable @Override protected Filter[] getServletFilters() { CharacterEncodingFilter filter = new CharacterEncodingFilter(); filter.setEncoding("UTF-8"); return new Filter[]{filter}; //如果有多个多虑器就写成:return new Filter[]{filter1,filter2,filter3}; } } package com.ycl.config; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @Configuration @ComponentScan("com.ycl.controller") @EnableWebMvc public class SpringMvcConfig { } package com.ycl.controller; import com.ycl.domain.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.Arrays; import java.util.List; @Controller @RequestMapping("/user") public class UserController { @RequestMapping("/commonParam") @ResponseBody public String commonParam(@RequestParam("name") String username, int age){ System.out.println("普通参数传递 name==>"+username); System.out.println("普通参数传递 age==>"+age); return "{'module':'common param'}"; } @RequestMapping("/save") @ResponseBody public String save(){ System.out.println("save usercontroller"); return "{'module':'user save'}"; } @RequestMapping("/delete") @ResponseBody public String delete(){ System.out.println("delete usercontroller"); return "{'module':'user delete'}"; } @RequestMapping("/pojoParam") @ResponseBody public String pojoParam(User user){ System.out.println("pojo参数传递 user==>" + user); return "{'module':'pojo param'}"; } @RequestMapping("/pojoContainPojoParam") @ResponseBody public String pojoContainPojoParam(User user){ System.out.println("pojo参数传递 user==>" + user); return "{'module':'pojo contain pojo param'}"; } @RequestMapping("/arrayParam") @ResponseBody public String arrayParam(String[] likes){ System.out.println("pojo参数传递 likes==>" + Arrays.toString(likes)); return "{'module':'pojo contain pojo param'}"; } //集合参数 @RequestMapping("/listParam") @ResponseBody public String listParam(@RequestParam List<String> likes){ System.out.println("集合参数传递 likes==>" + likes); return "{'module':'list param'}"; } //json对象 @RequestMapping("/listParamForJson") @ResponseBody public String listParamForJson(@RequestBody List<String> likes){ System.out.println("list common(json)参数传递 list==>"+ likes); return "{'module':'list common for json param'}"; } } package com.ycl.domain; public class User { private String name; private int age; private Address address; @Override public String toString() { return "User{" + "name='" + name + '\'' + ", age=" + age + ", address=" + address + '}'; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }\ package com.ycl.domain; public class Address { private String province; private String city; @Override public String toString(){ return "Address{" + "province='" + province + '\'' + ",city='" + city + '\'' + '}'; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } }

//pojo参数:json格式; @RequestMapping("/pojoParamForJson") @ResponseBody public String pojoParamForJson(@RequestBody User user){ System.out.println("pojo(json)参数传递 user==>"+user); return "{'module':'pojo for json param'}"; }

//集合参数 :json格式 @RequestMapping("/listPojoParamForJson") @ResponseBody public String listPojoParamForJson(@RequestBody List<User> list){ System.out.println("list pojo(json)参数传递list==>"+list); return "{'module':'list pojo for json param'}"; } #传入值; [ {"name":"程序员","age":15}, {"name":"德玛","age":21} ]

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询