老师,为什么我在controller接收不到枚举类型的值呢
来源:4-10 对Enumeration的理解与扩展
慕莱坞8271573
2020-04-14 17:15:21
@Getter
@Setter
public class LoginParam {
/**
* 账号,如果是微信登录则装载code
*/
@NotBlank(message = "{token.account}")
private String account;
private String password;
private LoginType loginType;
}
@PostMapping
public Map<String, String> getToken(@RequestBody @Validated LoginParam loginParam){
String token=null;
token=wxAuthenticationService.code2Session(loginParam.getAccount());
// switch (loginParam.getLoginType()){
// case USER_WX:{
// token=wxAuthenticationService.code2Session(loginParam.getAccount());
// break;
// }
// case USER_MAIL:{
// break;
// }
// case USER_PHONE:{
// break;
// }
// default:{
// throw new NotFoundException(10003);
// }
// }
Map<String,String> map=new HashMap<>();
map.put("token",token);
return map;
}
public enum LoginType {
USER_WX(0,"微信登录"),
USER_MAIL(1,"邮箱登录"),
USER_PHONE(2,"手机号码登录");
private Integer value;
LoginType(Integer value,String description){
this.value=value;
}
}
wx.request({
url: 'http://localhost:8888/v1/token',
method: 'POST',
data: {
account: res.code,
loginType: 0
},
3回答
一日看盡長安花
2020-05-28
# property-naming-strategy: SNAKE_CASE
这个设置会将请求参数由aB转为a_b
Hahn_佩佩
2020-04-30
我记得7月老师把接口的参数从鸵锋设置成下划线。所以测试api的时候弄下划线法就可以了。比如loginType设置成为login_type
慕莱坞8271573
提问者
2020-04-14
经过几次测试
变量名为loginType无法接收到值,采用其它命名如:test,type可以正常接收到
枚举类设置value无效,前端传值仍需按照变量排序号传值,0,1,2
相似问题