前一篇文章我们讲了怎样去创建 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中进行访问

非常完美~

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