我們的入?yún)⑹荍SON格式的,出參是字符串拇囊,而且我們的程序用的是map來接入,這很不優(yōu)雅
如果出參靶橱,入?yún)⑽覀兌加胋ean對象來承接的話寥袭,是不是優(yōu)雅多了?
創(chuàng)建LoginReqBean
package com.mi.mallserver.bean;
public class LoginReqBean {
private String name;
private String pwd;
}
創(chuàng)建LoginResBean
package com.mi.mallserver.bean;
public class LoginResBean {
private String name;
private String age;
private String sex;
}
再修改登錄接口
@PostMapping("/login")
public LoginResBean login(@RequestBody LoginReqBean reqBean){
System.out.println("name:"+reqBean.getName() + " pwd:"+reqBean.getPwd());
LoginResBean resBean = new LoginResBean();
resBean.setName(reqBean.getName());
resBean.setAge("20");
resBean.setSex("男");
return resBean;
}
重啟服務关霸,然后繼續(xù)用postMan調試
是不是優(yōu)雅多了传黄?
對于bean每次都要寫get、set方法队寇,有沒有辦法避免呢膘掰?
自然是有的
首先我們要去pom.xml中添加一個依賴包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
然后引入該依賴包,就能使用啦
使用方法
代碼量瞬間就降下來了
LoginResBean趕緊也改一下
可是如果想對出參和入?yún)⑦M行統(tǒng)一的管理呢佳遣?
我們新建一個請求的管理類BaseRequest
package com.mi.mallserver.base;
import lombok.Data;
@Data
public class BaseRequest<T> {
//時間戳
private String seqNo;
//系統(tǒng)
private String sys;
//版本號
private String ver;
//真正的請求參數(shù)
private T req;
}
同理识埋,對于出參也要處理下
@Data
public class BaseResponse<T> {
//時間戳
private String seqNo;
//返回參數(shù)
private Integer code;
//返回的描述符
private String desc;
//真正的請求參數(shù)
private T data;
}
修改登錄接口
@PostMapping("/login")
public BaseResponse<LoginResBean> login(@RequestBody BaseRequest<LoginReqBean> reqBean){
System.out.println("seqNo:"+reqBean.getSeqNo()+" sys:"+reqBean.getSys()+" ver:"+reqBean.getVer());
System.out.println("name:"+reqBean.getReq().getName() + " pwd:"+reqBean.getReq().getPwd());
LoginResBean resBean = new LoginResBean();
resBean.setName(reqBean.getReq().getName());
resBean.setAge("20");
resBean.setSex("男");
BaseResponse<LoginResBean> response = new BaseResponse<>();
response.setSeqNo(reqBean.getSeqNo());
response.setCode(1000);
response.setDesc("成功");
response.setData(resBean);
return response;
}
重啟服務器凡伊,然后請求試下看行不行
我們發(fā)現(xiàn)請求失敗,我們改了入?yún)⒌母袷街现郏@里肯定也要跟著修改呀系忙,達到了我們需要統(tǒng)一管理的目的
這樣一來,無論出參辜纲、入?yún)⒈棵伲荚诠潭ǖ母袷较旅?/p>