(2)Spring Boot返回json数据【从零开始学Spring Boot】

在做如下操作之前,我们对之前的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;

 

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

 

@RestController// 标记为:restful

publicclass HelloController {

   

    @RequestMapping("/")

    public String hello(){

       return"Hello world!";

    }

}

 

运行代码和之前是一样的效果的。

 

我们在编写接口的时候,时常会有需求返回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 String getName() {

       returnname;

    }

    publicvoid setName(String name) {

       this.name = name;

    }

}

 

com.kfit.test.web.DemoController

package com.kfit.test.web;

 

import org.springframework.web.bind.annotation.RequestMapping;

import org.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 返回如下数据:

{

id1,

name"Angel"

}

 

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

 

 

Spring Boot 系列博客】

54. spring boot日志升级篇—logback【从零开始学Spring Boot

 

52. spring boot日志升级篇—log4j多环境不同日志级别的控制【从零开始学Spring Boot 

 

51. spring boot属性文件之多环境配置【从零开始学Spring Boot

 

50. Spring Boot志升级篇—log4j【从零开始学Spring Boot

 

49. spring boot日志升级篇理论【从零开始学Spring Boot

 

48. spring boot单元测试restfull API【从零开始学Spring Boot

 

47. Spring Boot发送邮件【从零开始学Spring Boot

 

46. Spring Boot中使用AOP统一处理Web请求日志

 

45. Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot

 

44. Spring Boot日志记录SLF4J【从零开始学Spring Boot

 

43. Spring Boot动态数据源(多数据源自动切换)【从零开始学Spring Boot

 

42. Spring Boot多数据源【从零开始学Spring Boot

 

41. Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot

 

40. springboot + devtools(热部署)【从零开始学Spring Boot 

 

39.4 Spring Boot Shiro权限管理【从零开始学Spring Boot

 

39.3 Spring Boot Shiro权限管理【从零开始学Spring Boot

 

39.2. Spring Boot Shiro权限管理【从零开始学Spring Boot

 

39.1 Spring Boot Shiro权限管理【从零开始学Spring Boot

 

38 Spring Boot分布式Session状态保存Redis【从零开始学Spring Boot 

 

37 Spring Boot集成EHCache实现缓存机制【从零开始学Spring Boot 

 

36 Spring Boot Cache理论篇【从零开始学Spring Boot

 

35 Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot 

 

34Spring Boot的启动器Starter详解【从零开始学Spring Boot

 

33 Spring Boot 监控和管理生产环境【从零开始学Spring Boot

 

32 Spring Boot使用@SpringBootApplication注解从零开始学Spring Boot 

 

31 Spring Boot导入XML配置【从零开始学Spring Boot

 

 

 

更多查看博客: http://412887952-qq-com.iteye.com/

 

 

原文地址:https://www.cnblogs.com/hehehaha/p/6147143.html