- json 接口开发
在以前的spring 开发的时候需要我们提供json接口的时候需要做如下配置:
1 添加jackjson等jar包
2 配置spring controller扫描
3 对接的方法添加@ResponseBody
如果使用spring boot 如何做呢,只需要类添加 @RestController
即可,默认类中的方法都以json格式返回。
举例1:
/** * @RestController = @Controller + @ResponseBody。 所以,以后定义controller的时候,可以直接使用@Controller,如果需要返回json可以直接在方法中添加@ResponseBody即可 * @author 1 * */ @RestController public class HelloController { @RequestMapping("/hello") public HashMap<String, String> hello() { HashMap<String, String> map = new HashMap<String, String>(); map.put("w", "1"); map.put("wq", "12"); map.put("wq1", "123"); map.put("wq12", "123"); return map; //return "hello"; } }
运行结果如下:
举例2:
package com.cfj.testboot.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.cfj.testboot.domain.UserDo; @RestController public class TestReturnJson { @RequestMapping("/returnjson") public UserDo testReturnJson() { UserDo u = new UserDo(); u.setId(1); u.settName("测试人员"); return u; } }
运行结果如下:
@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
@RequestMapping
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
如下代码 访问路径:http://localhost:8081/test/returnjson
package com.cfj.testboot.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.cfj.testboot.domain.UserDo; @RestController @RequestMapping("/test") public class TestReturnJson { @RequestMapping("/returnjson") public UserDo testReturnJson() { UserDo u = new UserDo(); u.setId(1); u.settName("测试人员"); return u; } }