毕设小程序躺坑之路(二)
- 额,其实不能说是坑,都是自己菜,说是坑只是为了好听一点而已,这一段时间呢,主要处理了将前端的参数传到后端,顺便发现了上一篇博客一些遗漏的点,就补充一下
1. POST的解决
- 工具:
- IntelliJ IDEA 2019.2.3 x64
- 微信开发者工具
- Postman
- 过年吃的脑满肠肥,有些记不清顺序了,写出来的东西可能会乱一点
1.1 接收参数
- 主要参考的这篇博客:SpringBoot Controller接收参数的几种常用方式
- 这篇博客已经把接收方式讲的很清楚了,看得懂就不用看我这篇了,我只是有一些地方没,解好的在这里补充一下,以及结合自己前端代码做一下说明
- 我要用的主要还是@RequestBody
- postman的参数设置:以前没怎么用这个,就顺带说一下
Headers的设置:key是Content-Type,Value是application/json,这个是要有的
第二行的SessionID是我根据需要自己加的,在代码中是这样子:
postman:
代码:
模式选POST模式,然后是url,在下面Body栏写上参数(大括号括起来,参数根据@RequestBody后面跟着的参数类型,我的跟着是一个对象,参数就是对象的属性)……
1.2 前端上传参数
- 前端参数上传的问题是我遇到的主要问题,就是我的参数是一个对象,然后我以为在wx.request的data段里面传的是一个对象,一开始我在data中放了一个JavaScript的对象,然后返回的是null,并不是我想要的结果,我以为是对象定义的地方不对,在初始化的函数创建了这个对象,然后在data处引用,也是一样的结果。
- 对于RequestBody上传的参数,就如对象,data已经给了一个大括号了,需要的就是将在postman测试时Body的内容放进去:(然后Header的内容也是在header段里面)
wx.request({
url: "http://www.chenxp38.com:8080/Modified/getUser",
header: {
"SessionID": "SessionIDTest",
"Content-Type": "application/json"
},
method: "POST",
data: {
"name": "chenxp381",
"password": "chenxp382",
"birthday": null,
"age": 18,
"desc": "getUser"
},
success: function (res) {
console.log(res.data);
},
})
1.3 @JsonIgnore的说明
- 我在代码中添加了输出我输入数据的语句,返回结果就会显示我上传的信息,下面是我postman发送参数后的返回内容,值得注意的是,我上传参数的时候,是有上传password的,然而返回的内容却没有password:
{
"status": 200,
"msg": "OK",
"data": {
"name": "chenxp381",
"age": 18,
"birthday": null,
"desc": "getUser"
},
"ok": null
}
@JsonIgnore
private String password;
1.4 最后,上一篇遗漏的点
- 其实,是IDEA中jar的打包,上一篇博客给的打包教程链接忽然觉得有点麻烦,不过也可以用,我接下来说的是我喜欢用的打包方法:
- IDEA的右边工具栏有一个Maven选项,点开之后,有一个package的选项,点击就可以打包了,过程与之前命令行打包类似,打包好的文件也是在target文件夹中
- 依赖:
<build>
<finalName>DemoPackage</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 没有该配置,devtools 不生效 -->
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
- 最后的最后,自己实在是太懒了,过年吃的又多,一片笔记拖了一个星期才写完,还不知道有没有疏漏,先这样吧!大致的准备工作已经做好了,开始写项目了,后面数据库还有redis什么的慢慢弄吧!