springboot——(3)maven配置json、解析json入参、反馈json信息

前面博文中已经在IDEA工具下创建spingboot工程实现一个简单的处理http接口的程序。

在实际项目中参数传递逐一解析是不现实的,一般会创建专用的javabean处理入参,同时反馈信息一般也不会只是简单字符串,下面学习实践两个小课题:

1.http请求使用post方式传入一个json字符串,解析成javaBean

2.用来反馈http请求的javaBean处理成json字符串

首先使用@RequestBody注解将post方式传入的json注入到javabean,添加控制器函数如下

@RequestMapping(value = "/loginByPostJson",method= RequestMethod.POST)
public String loginByPostJson(@RequestBody LoginBean logInfo){
    log.info("loginBean.name = " +loginBean.getName() + ";loginBean.psw = " + loginBean.getPsw());
    log.info("get_Name = " + logInfo.getName() +";get_psw = " + logInfo.getPsw());
    if(loginBean.login(logInfo.getName(), logInfo.getPsw())) return "欢迎登陆\n登陆信息:" + loginBean.toString();
    else return "用户名或密码错误";
}

springboot——(3)maven配置json、解析json入参、反馈json信息_第1张图片

@RequestBody注解会自动将post传入的body中json字符串转换成javabean注入到后面声明的logInfo中

在postman中模拟post传参,选择body-row-txt-json... 输入待传入的json字符串,点击send

springboot——(3)maven配置json、解析json入参、反馈json信息_第2张图片

可以看到下方反馈的body信息

springboot——(3)maven配置json、解析json入参、反馈json信息_第3张图片

至此,post传参使用json格式时,已经可以注入到javabean了,那么下面来尝试反馈一段json。

上面的截图中可以看到,我反馈时写了loginBean.toString(),得到的是类的信息。下面我们在maven中引入json相关jar包,然后重载LoginBean这个类的toString函数,将loginBean.toString()变成json字符串。

首先,pom.xml中补充以下内容


    net.sf.json-lib
    json-lib
    2.4
    jdk15


    commons-beanutils
    commons-beanutils
    1.7.0


    commons-collections
    commons-collections
    3.1


    commons-lang
    commons-lang
    2.5


    net.sf.ezmorph
    ezmorph
    1.0.3

springboot——(3)maven配置json、解析json入参、反馈json信息_第4张图片

放在dependencies标签内,IDEA自带maven,稍等一会就会识别相关的jar包资源

LoginBean重载toString函数

public String toString(){
    return JSONObject.fromObject(this).toString();
}

springboot——(3)maven配置json、解析json入参、反馈json信息_第5张图片

控制器函数中的代码没有修改

springboot——(3)maven配置json、解析json入参、反馈json信息_第6张图片

重新编译运行一下,postman中调用信息不变

springboot——(3)maven配置json、解析json入参、反馈json信息_第7张图片

点击send,得到的反馈中可以看到,loginBean.toString()反馈的是一串json

springboot——(3)maven配置json、解析json入参、反馈json信息_第8张图片

至此,我们就处理好了http请求post方式body中的json字符串解析并注入到javaBean的问题,处理了javaBean封装成json进行反馈的问题。

你可能感兴趣的:(springCloud学习)