欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

后端如何返回 Restful风格的json的 给前端

程序员文章站 2022-09-02 16:33:03
知识的诅咒:指的就是一旦我们自己知道某样东西,我们就会发现很难想象不知道它的时候会是什么样子。感觉在编程学习中,这种显现也比价普遍本篇博文主要面向,对于返回json格式还不太熟悉的初学者。如果有错误,还望大家多多指正。先在开发基本上是前后端分离,在开发中经常需要对json字符串进行传输或者解析。一般我们需要传输以下格式json字符串:{ "code":0, "msg":"成功", "data":[ { "name":"热销榜",....

知识的诅咒:指的就是一旦我们自己知道某样东西,我们就会发现很难想象不知道它的时候会是什么样子。
感觉在编程学习中,这种现象也比较普遍

本篇博文主要面向,对于返回json格式还不太熟悉的初学者。如果有错误,还望大家多多指正。
现在开发基本上是前后端分离,而在开发中经常需要对json字符串进行传输或者解析。
一般我们需要传输以下格式json字符串:

{
    "code":0,
    "msg":"成功",
    "data":[
        {
            "name":"热销榜",
            "type":2,
            "foods":[
                {
                    "id":"122",
                    "name":"皮皮虾",
                    "price":13.14,
                    "icon":"https://xxx.png"
                },
                {
                    "id":"123",
                    "name":"皮蛋瘦肉粥",
                    "price":23.33,
                    "icon":"https://xxx.jpg"
                }
            ]
        },
        {
            "name":"女生最爱",
            "type":3,
            "foods":[
                {
                    "id":"12",
                    "name":"芒果冰",
                    "price":20.2,
                    "icon":"https://xxx.jpg"
                }
            ]
        }
    ]
}

但怎么方便快捷的返回这种类型的json字符串呢?
大概需要分为以下两个步骤:

1、定义需要返回的VO(View Object)包下的类,按照需要返回的json格式定义
2、Controller相关注解和配置

确实只有这么简单的两个步骤,但由于之前学习不是很系统,所以返回的也是千奇百怪,被前端的同学吐槽过好多

1、View Object

按照你需要的JSON格式定义即可。

/**
 * HTTP请求返回的最外层对象
 */
@Data
public class ResultVO<T> {

    /*错误码*/
    private Integer code;

    /*提示信息*/
    private String msg;

    /*返回的具体内容*/
    private T data;
}

需要注意的有:lombok的@Data注解

2、Controller

需要注意的有:
class上面的注解需要写为@RestController,其他的就和正常的Controller一样

@RestController
@RequestMapping("/buyer/product/")
public class BuyerProductController {
@Autowired
private ProductService productService;

@Autowired
private CategoryService categoryService;

@RequestMapping(value = "/list", method = RequestMethod.GET)
ResultVO resultVO = new ResultVO();
resultVO.setData(productVOList);
resultVO.setCode(0);
resultVO.setMsg("成功");

return resultVO;

3、访问

访问成功
后端如何返回 Restful风格的json的 给前端

本文地址:https://blog.csdn.net/qq_43719388/article/details/109612104

相关标签: java web java