2017-02-22 1 views
0

Si je ne définis pas paramType = "query", le mot de passe est body. Comment changer?Comment définir par défaut paramType à interroger. current is body

@ApiOperation("登录") 
@ApiImplicitParams({ 
     @ApiImplicitParam(name = "account", value = "用户名或手机号码", paramType = "query"), 
     @ApiImplicitParam(name = "password", value = "密码") 
}) 
@RequestMapping 
public JR login(String account, String password) { 
    if (StringUtils.isEmpty(account) || StringUtils.isEmpty(password)) { 
     return JR.fail(2, "请填写完整信息"); 
    } 
    User user = userRepository.findByAccountOrPhone(account, account); 
    if (user != null && StringUtils.md5(password).equals(user.getPassword())) { 
     ApiUtils.loginInfo(user, userRepository, true); 
     return JR.success(user); 
    } 
    return JR.fail(1, "账号或密码错误"); 
} 

enter image description here

Répondre

1

au lieu de le mettre dans l'annotation swagger vous devez spécifier paramètres de requête dans votre method en utilisant @RequestParam comme ce qui suit:

@ApiOperation("登录") 
@RequestMapping 
public JR login(@RequestParam("account") String account, @RequestParam("password") String password) { 
    if (StringUtils.isEmpty(account) || StringUtils.isEmpty(password)) { 
     return JR.fail(2, "请填写完整信息"); 
    } 
    User user = userRepository.findByAccountOrPhone(account, account); 
    if (user != null && StringUtils.md5(password).equals(user.getPassword())) { 
     ApiUtils.loginInfo(user, userRepository, true); 
     return JR.success(user); 
    } 
    return JR.fail(1, "账号或密码错误"); 
} 
+0

Merci. Mais j'ai besoin de ApiImplicitParam.value, existe-t-il un moyen d'écrire moins de code mais affiche ApiImplicitParam.value et paramType = "query"? – oldfeel

+0

vous devriez utiliser '@ApiModelProperty (value =" xxx "...)' sur le paramètre lui-même. – Tom