2. Spring Boot返回json数据
在做如下操作之前,我们对之前的Hello进行简单的修改,我们新建一个包com.kfit.test.web 然后新建一个类HelloControoler, 然后修改App.java类,主要是的这个类就是一个单纯的启动类。
主要代码如下:
App.java packagecom.kfit; importorg.springframework.boot.SpringApplication; importorg.springframework.boot.autoconfigure.SpringBootApplication; /** * Hello world! * */ //其中@SpringBootApplication申明让spring boot自动给程序进行必要的配置,等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan @SpringBootApplication publicclassApp{ public static void main(String[] args) { SpringApplication.run(App.class, args); } }
com.kfit.test.web.HelloController: package com.kfit.test.web; importorg.springframework.web.bind.annotation.RequestMapping; importorg.springframework.web.bind.annotation.RestController; @RestController// 标记为:restful publicclass HelloController{ @RequestMapping("/") public String hello(){ return"Helloworld!"; } } 运行代码和之前是一样的效果的。 我们在编写接口的时候,时常会有需求返回json数据,那么在spring boot应该怎么操作呢?主要是在class中加入注解@RestController,。 返回JSON之步骤: (1)编写一个实体类Demo (2)编写DemoController; (3)在DemoController加上@RestController和@RequestMapping注解; (4)测试 具体代码如下: com.kfit.test.bean.Demo : package com.kfit.test.bean; /** * 测试实体类. * @author Administrator * */ publicclass Demo { private long id;//主键. private String name;//测试名称. publiclong getId() { returnid; } publicvoid setId(longid) { this.id = id; } public StringgetName() { returnname; } publicvoid setName(String name) { this.name = name; } }
com.kfit.test.web.DemoController: package com.kfit.test.web; importorg.springframework.web.bind.annotation.RequestMapping; importorg.springframework.web.bind.annotation.RestController; import com.kfit.test.bean.Demo; /** * 测试. * @author Administrator * */ @RestController @RequestMapping("/demo") publicclass DemoController{ /** * 返回demo数据: * 请求地址:http://127.0.0.1:8080/demo/getDemo * @return */ @RequestMapping("/getDemo") public Demo getDemo(){ Demo demo = new Demo(); demo.setId(1); demo.setName("Angel"); returndemo; } }
那么在浏览器访问地址:http://127.0.0.1:8080/demo/getDemo返回如下数据:
{ id: 1, name:"Angel" }
是不是很神奇呢,其实Spring Boot也是引用了JSON解析包Jackson,那么自然我们就可以在Demo对象上使用Jackson提供的json属性的注解,对时间进行格式化,对一些字段进行忽略等等。
努力提高自己的技术,不忘初心