2. Spring Boot返回json数据

Posted SpringBoot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2. Spring Boot返回json数据相关的知识,希望对你有一定的参考价值。

(注:这篇文章的方式不是最好的方式,可以废弃不读,在章节66. Spring Boot完美使用FastJson解析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{

              publicstatic 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 {

       privatelongid;//主键.

       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数据:

        * @return

        */

       @RequestMapping("/getDemo")

       public Demo getDemo(){

              Demo demo = new Demo();

              demo.setId(1);

              demo.setName("Angel");

              returndemo;

       }

}

 

 

{

       id: 1,

       name:"Angel"

}

       是不是很神奇呢,其实Spring Boot也是引用了JSON解析包Jackson,那么自然我们就可以在Demo对象上使用Jackson提供的json属性的注解,对时间进行格式化,对一些字段进行忽略等等。


以上是关于2. Spring Boot返回json数据的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 处理异常返回json

上手spring boot项目之springboot如何返回json数据

spring boot 啥注解可以让返回的json数据都为字符串

从 Spring Boot 控制器返回非 JSON 数据(对象列表)

视频第2,3节 Spring Boot完美使用FastJson解析JSON数据

spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500:no convertter for return value of type