spring boot json处理
spring boot本身包含jackson依赖,可以很方便的开发restful服务端。
一、如何输出json
输出和spring mvc中很相似,三步走:
1.写一个实体类
ReturnPojo.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
package springboot.pojo; public class ReturnPojo { private int RetCode; private Object RetData; private String RetMsg; public int getRetCode() { return RetCode; } public void setRetCode(int retCode) { RetCode = retCode; } public Object getRetData() { return RetData; } public void setRetData(Object retData) { RetData = retData; } public String getRetMsg() { return RetMsg; } public void setRetMsg(String retMsg) { RetMsg = retMsg; } @Override public String toString() { return "ReturnPojo [RetCode=" + RetCode + ", RetData=" + RetData + ", RetMsg=" + RetMsg + "]"; } } |
记住一定要写set和get方法
2.把之前的@Controller换成@RestController
@RestController表示支持restful服务
3.写个方法return这个实体类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
package springboot.controller; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import springboot.pojo.ReturnPojo; import springboot.pojo.user; //@Controller //@EnableAutoConfiguration @SpringBootApplication @RestController @RequestMapping("/test") public class testController { @RequestMapping("/helloworld") @ResponseBody public String helloworld() { return "Hello World!"; } @RequestMapping("/user") @ResponseBody public ReturnPojo user() { user user = new user(); user.setUsername("xie"); user.setPassword("4ever"); ReturnPojo returnPojo = new ReturnPojo(); returnPojo.setRetCode(200); returnPojo.setRetData(user); returnPojo.setRetMsg("success"); return returnPojo; } public static void main(String[] args) throws Exception { SpringApplication.run(testController.class, args); } } |
注意要加上@ResponseBody,直接把json放在ResponseBody中返回
二、如何接收json
接收和spring mvc比较相似,但是一定要注意有部分地方不同。两步走:
1.根据要接收的json信息,写出对应的实体类
比如说,现在有个这样的json:
1 2 3 4 |
{ "username": "1", "password": "2" } |
就要写出对应的一个实体类:
user.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
package springboot.pojo; public class user { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "user [username=" + username + ", password=" + password + "]"; } } |
2.写出这样一个方法
1 2 3 4 5 6 |
@RequestMapping(value = "/getJson" , method = RequestMethod.POST) @ResponseBody public user getJson(@RequestBody user user) { return user; } |
一定要注意:
(1)@RequestMapping(value = “/getJson” , method = RequestMethod.POST)
接收json,方法一定要是post
(2)@RequestBody user user
这里和spring mvc中不一样,一定要在实体类前面加上这样一个注解:@RequestBody,才能把接收到的json解析成实体类
三、总结
spring boot对json的支持还是比较简单直观的。