前一篇文章我们讲了怎样去创建 Spring Boot项目,这篇文章我们来讲一下如何返回一个Json数据~
1、添加依赖
首先,要确保 pom.xml 中包含了 Spring Web 的依赖,因为返回Json数据的话一般是会与Web的请求与相应有关,如果在创建的时候选择了Spring Web的这个依赖,这一步可以忽略。
如果没有的话,推荐到 Maven Repository 这个网站,查询你所需要的依赖,比如我要安装MySql的依赖,就可以直接搜索,然后点击需要的版本,就可以看到Maven的配置啦~
复制好后在根目录下的 pom.xml 里面的 dependencies 节点下就可以啦~
这里面都是这样的 dependency 节点,让他们排排坐就好啦~
2、创建数据模型
接下来呢,我们需要用一个数据模型来作为我们输出的Json数据。我们现在项目的目录中创建一个model包用来存放Java类,就像酱紫~
然后,再去创建一个类去表示这个模型,我这个类就叫 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; } }
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; } }
咱们现在访问下试试吧~
当然,我们也可以把 User 作为参数进行传递,直接把 User 这个类型设置为形参就可以啦,添加一个setUserInfo方法~
@GetMapping("setuser") public User setUserInfo(User user){ return user; }
这个User 类里面包含了两个属性,一个是uid,一个是username,那么我们就把这两个参数写到URL中进行访问
非常完美~

微信扫码查看本文
发表评论