2017-02-22 12 views
0

私がparamType = "query"を設定しない場合、パスワードはbodyです。変更する方法?クエリにデフォルトのparamTypeを設定する方法。 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

答えて

1

代わりswagger注釈でそれを設定するのは、次のような@RequestParamを使用してmethodでクエリのparamsを指定する必要があります。

@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

ありがとうございました。しかし、ApiImplicitParam.valueが必要です。コードを少なく書く方法がありますが、ApiImplicitParam.valueとparamType = "query"を表示する方法はありますか? – oldfeel

+0

パラメータ自体に '@ApiModelProperty(value =" xxx "...)'を使用する必要があります。 – Tom

関連する問題