Once you defined your error in zero system, this is a situation that you need to provide readable message to client UI.
At first you should create following two files:
src/resources/vertx-error.yml
src/resources/vertx-readible.yml
The content of two files are as following:
vertx-error.yml
E90001: "[404] The user {0} does not existing in database"
E90002: "[401] The user''s ( username = {0} ) password that you provided is wrong"
vertx-readible.yml
90001: "登陆失败,您提供的用户名(或ID)找不到!"
90002: "登陆失败,您提供的用户信息和密码不匹配!"
package com.htl.exception;
import io.vertx.core.http.HttpStatusCode;
import io.vertx.up.exception.WebException;
public class UserNotFoundException extends WebException {
public UserNotFoundException(final Class<?> clazz,
final String username) {
super(clazz, username);
}
@Override
public int getCode() {
return -90001;
}
@Override
public HttpStatusCode getStatus() {
return HttpStatusCode.RETRY_WITH;
}
}
Once you have finished above configuration and exception define, you should see the response information contains info
node to say: 登陆失败,您提供的用户名(或ID)找不到!
, it could help UI client to extract normalized information and provide to UI to show to customers.