• 【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 的时候,也能进行热部署了。
  • 相关阅读:
    SpringCloud Alibaba——记录一种nacos配置中心动态刷新不起效的解决方式(@ConfigurationProperties)
    最短路径求解,实在是做不会了(搜不了)来上网求答案
    【数字IC验证快速入门】12、SystemVerilog TestBench(SVTB)入门
    利用uvicorn、Starlette和pipeline将一个训练好的大模型发布成一个web服务
    「Verilog学习笔记」ROM的简单实现
    大数据中的小文件问题
    物理系统仿真有哪些作用和功能?速看
    新手初学课,Python入门体验之九九乘法表
    数据结构(持续更新)
    vue3将页面导出成PDF文件(完美解决图片、表格内容分割问题)
  • 原文地址:https://blog.csdn.net/m0_72254454/article/details/127732044