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

本文介绍了如何在SpringBoot项目中通过使用@RestController注解来返回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;

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值