【Spring Boot学习笔记】返回Json数据

2025-05-29 22:59:26  阅读 160 次 评论 0 条

前一篇文章我们讲了怎样去创建 Spring Boot项目,这篇文章我们来讲一下如何返回一个Json数据~

1、添加依赖

首先,要确保 pom.xml 中包含了 Spring Web 的依赖,因为返回Json数据的话一般是会与Web的请求与相应有关,如果在创建的时候选择了Spring Web的这个依赖,这一步可以忽略。

如果没有的话,推荐到 Maven Repository 这个网站,查询你所需要的依赖,比如我要安装MySql的依赖,就可以直接搜索,然后点击需要的版本,就可以看到Maven的配置啦~

QQ_1748531884809.png

QQ_1748531932525.png

QQ_1748532126557.png

复制好后在根目录下的 pom.xml 里面的 dependencies 节点下就可以啦~

这里面都是这样的 dependency 节点,让他们排排坐就好啦~

QQ_1748534588915.png

2、创建数据模型

接下来呢,我们需要用一个数据模型来作为我们输出的Json数据。我们现在项目的目录中创建一个model包用来存放Java类,就像酱紫~

QQ_1748532471260.png

然后,再去创建一个类去表示这个模型,我这个类就叫 User 了,模型里面应该包含什么我就不多说了,包含字段和属性,对吧~

我这是用最原始的方式去写的,我这就先不用Lombok了,听说那东西对后期的维护和代码阅读不是很友好,

虽然直接用 @AllArgsConstructor 这个注解修饰可以用构造方法实例化真的很香~

package xyz.ygmx.test.myfirstproject.model;

public class User {
    private int uid;
    private String username;

    public void setUid(int uid) {
        this.uid = uid;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public  int getUid(){
        return uid;
    }
    public  String getUsername(){
        return username;
    }
}

QQ_1748532993440.png

3、创建控制器

我们在这里再创建一个控制器,用于处理HTTP请求,并返回对应的Json数据

和之前一样,类上面要用 @RestController 进行修饰,

和之前不一样的是,这次我们再用 @RequestMapping("/user") 这个注解去修饰这个类,相比大家已经知道这个是做什么用的了。

没错,就是给这个控制器指定一个路径,https://localhost/user/xxx  

然后再创建一个方法,这个方法和之前一样,用 @GetMapping("getuser") 进行修饰,

不过这次我们返回值要设置成 User  。对,没错,就是 User 这个类型,Spring Boot会自动把我们这个类型序列化为Json字符串

代码长这个样子~

package xyz.ygmx.test.myfirstproject.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import xyz.ygmx.test.myfirstproject.model.User;

@RestController
@RequestMapping("/user")
public class UserController {
    @GetMapping("getuser")
    public User getUserInfo(){
        User user = new User();
        user.setUid(1);
        user.setUsername("喵喵喵");
        return user;
    }
}

QQ_1748533969559.png

咱们现在访问下试试吧~

QQ_1748534032703.png


当然,我们也可以把 User 作为参数进行传递,直接把 User 这个类型设置为形参就可以啦,添加一个setUserInfo方法~

@GetMapping("setuser")
public User setUserInfo(User user){
   
    return user;
}

这个User 类里面包含了两个属性,一个是uid,一个是username,那么我们就把这两个参数写到URL中进行访问

QQ_1748534293838.png

非常完美~


微信扫码查看本文
本文地址:https://www.yangguangdream.com/?id=2249
版权声明:本文为原创文章,版权归 编辑君 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?