Spring Boot-構造並返回一個json對象

本文以Spring Boot-構建Spring Boot 第一個demo中項目爲基礎,可以先查看上一片文章。

添加User.java實體類和UserController.java。結構如下

Result.java代碼如下:

package com.xiangty.common;

public class Result {

	// 正確返回代碼
	private static final String SUCCESS_CODE = "10000";
	// 錯誤返回代碼
	private static final String ERROR_CODE = "-10000";

	// 狀態代碼
	private String status;
	// 信息
	private String msg;
	// 內容
	private Object data;

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}

	public Result() {}

	public Result(String status, String msg, Object data) {
		this.status = status;
		this.msg = msg;
		this.data = data;
	}

	public static Result ok(Object data) {
		return ok("OK", data);
	}

	public static Result ok(String msg, Object data) {
		return new Result(SUCCESS_CODE, "OK", data);
	}

	public static Result error(Object data) {
		return error("ERROR", data);
	}

	public static Result error(String msg, Object data) {
		return new Result(ERROR_CODE, msg, data);
	}

}

User.java代碼如下:

package com.xiangty.pojo;

public class User {

	private String userName;
	private String passWord;
	private Integer age;
	
	public User() {
	}
	
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassWord() {
		return passWord;
	}
	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	
}

UserController.java類代碼如下:

package com.xiangty.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.xiangty.pojo.User;

@Controller
@RequestMapping("/user")
public class UserController {

	@RequestMapping("/getUser")
	@ResponseBody
	public User getUser() {
		User u = new User();
		u.setUserName("testName");
		u.setAge(18);
		u.setPassWord("passWord");
		return u;
	}
	
	@RequestMapping("/getUserReturnResult")
	@ResponseBody
	public Result getUserReturnResult() {
		User u = new User();
		u.setUserName("testName");
		u.setAge(18);
		u.setPassWord("passWord");
		return Result.ok(u);
	}
}

啓動項目,訪問路徑效果如下

一般的項目中,都回對返回類做一定的封裝(上面的Resul.java類就是,不過這裏的Result.java類不規範,只提供思路),訪問一下路徑顯示結果如下:

如有錯誤請指正,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章