【Spring boot 返回 json 数据】

Spring boot 返回 json 数据
在做如下操作之前,我们对之前的 Hello 进行简单的修改,我们新建一个包 com.hpit.test.web 然后新建一个类
HelloControoler, 然后修改 App.java 类,主要是的这个类就是一个单纯的启动类。
主要代码如下:
App.java
iackage com.hpit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Hello world!
*/
// 其中 @SpringBootApplication 申明让 spring boot 自动给程序进行必要的配置,等价于以默认属性使用
// @Configuration @EnableAutoConfiguration @ComponentScan
//@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
com.hpit.test.web.HelloController
package com.hpit.test.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController // 标记为: restful
public class HelloController {
@RequestMapping ( "/" )
public String hello(){
return "Hello world!" ;
}
}
运行代码和之前是一样的效果的。
我们在编写接口的时候,时常会有需求返回 json 数据,那么在 spring boot 应该怎么操作呢?主要是在 class 中
加入注解@RestController,。
返回 JSON 之步骤:
(1)编写一个实体类 Demo
(2)编写 DemoController;
(3)在 DemoController 加上@RestController 和@RequestMapping 注解;
(4)测试
具体代码如下:
com.hpit.test.bean.Demo :
package com.hpit.test.bean;
/**
* 测试实体类 .
* @author Administrator
*
*/
public class Demo {
private long id ; // 主键 .
private String name ; // 测试名称 .
public long getId() {
return id ;
}
public void setId( long id ) {
this . id = id ;
}
public String getName() {
return name ;
}
publicvoid setName(String name ) {
this . name = name ;
}
}
com.hpit.test.web.DemoController:
package com.hpit.test.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.hpit.test.bean.Demo;
/**
* 测试 .
* @author Administrator
*
*/
@RestController
@RequestMapping ( "/demo" )
public class 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( "Zjs" );
return demo ;
}
}
那么在浏览器访问地址: http://127.0.0.1:8080/demo/getDemo 返回如下数据:
{
id : 1 ,
name : "Zjs"
}
是不是很神奇呢,其实 Spring Boot 也是引用了 JSON 解析包 Jackson,那么自然我们就可以在 Demo 对象上使
用 Jackson 提供的 json 属性的注解,对时间进行格式化,对一些字段进行忽略等等。
Spring boot 热部署
在编写代码的时候,你会发现我们只是简单把打印信息改变了下,就需要重新部署,如果是这样的编码方式,那
么我们估计一天下来之后就真的是打几个 Hello World 之后就下班了。那么如何解决热部署的问题呢?那就是
springloaded,加入如下配置:
< plugin >
< groupId > org.springframework.boot </ groupId >
< artifactId > spring-boot-maven-plugin </ artifactId >
<!-- 配置热部署 -->
< dependencies >
< dependency >
< groupId > org.springframework </ groupId >
< artifactId > springloaded </ artifactId >
< version > 1.2.4.RELEASE </ version >
</ dependency >
</ dependencies >
< executions >
< execution >
< goals >
< goal > repackage </ goal >
</ goals >
< configuration >
< classifier > exec </ classifier >
</ configuration >
</ execution >
</ executions >
</ plugin >
如果是使用 spring-boot:run 的话,那么到此配置结束,现在你就可以体验 coding…coding 的爽了。
如果使用的 run as – java application 的话,那么还需要做一些处理哦:
把 spring-loader-1.2.4.RELEASE.jar 下载下来,放到项目的 lib 目录中,然后把 IDEA 的 run 参数里 VM 参数设
置为:
-javaagent:.\lib\springloaded-1.2.4.RELEASE.jar -noverify
然后启动就可以了,这样在 run as 的时候,也能进行热部署了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

God Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值