代码拉取完成,页面将自动刷新
同步操作将从 Aibton/aibton-framework 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#aibton-framework
#具体功能描述
public interface IEnum {
/**
* 获取code值
* @return
*/
String getCode();
/**
* 获取value值
* @return
*/
String getValue();
/**
* 获取分组
* @return
*/
String getGroup();
/**
* 获得枚举编码
* @return
*/
String getCode(String value, String group);
/**
* 获得枚举值
* @return
*/
String getValue(String code, String group);
default String getName() {
return ((Enum) this).name();
}
}
对应的Code值和msg值在AibtonConstantKey.class中如下:
public class AibtonConstantKey {
/**
* 系统正常返回code
*/
public static final String RESPONSE_000000 = "000000";
/**
* 用户没有权限访问code
*/
public static final String RESPONSE_400000 = "400000";
/**
* 系统内部异常
*/
public static final String EXCEPTION_OF_MESSAGE = "系统内部异常";
/**
* SYSTEM
*/
public static final String SYSTEM = "system";
/**
* JSON对象转换异常
*/
public static final String SYSTEM_JACK_SON_ERROR = "JSON对象转换异常";
/**
* 用户没有权限访问该接口
*/
public static final String USER_NOT_AUTH_ERROR = "用户没有权限访问该接口";
/**
* HTTP请求调用异常
*/
public static final String HTTP_ERROR = "HTTP请求调用异常";
/**
* token值
*/
public static final String TOKEN = "token";
}
###开始使用
@Configuration
public class AibtonConfig {
@Bean
public IApiEngine getIApiEngine() {
return new ApiEngineImpl();
}
@Bean
public ApiInitProcessor getApiInitProcessor() {
return new ApiInitProcessor();
}
}
- 如果你使用xml,改成对应的xml配置即可
@Service
@Transactional
@Api(value = "systemInfo")
@Auth(auth = { "BASE", "ADMIN" })
public class SystemInfoApi extends AbstractBaseApi<BaseRequest, SystemInfoResponse> {
@Override
public BaseResponse excute(BaseRequest request, SystemInfoResponse response) {
return ResponseUtils.getData(true, "");
}
}
@RestController
public class GatewayController {
private static final Logger LOGGER = LoggerFactory.getLogger(GatewayController.class);
@Autowired
private IApiEngine iApiEngine;
@RequestMapping(value = "gateway")
public Object doExcute(HttpServletRequest request, String api, String data) {
AssertUtils.isNotEmpty(LOGGER, api, "");
AssertUtils.isNotEmpty(LOGGER, data, "");
EngineContext engineContext = new EngineContext();
engineContext.setApiUrl(api);
engineContext.setRequestData(data);
engineContext.setRequest(request);
BaseResponse baseResponse = iApiEngine.run(engineContext);
System.out.println(baseResponse);
return baseResponse;
}
}
以上则是最基本的功能的使用
public class SystemInfoResponse extends BaseResponse {
@NotEmpty
private String desc;
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
所有的入参和返回参数都需要继承框架一个基类,如果是Request则继承BaseRequest,如果是Response则继承BaseResponse
框架现在实现了三个参数校验
@NotEmpty 字符串不能为NULL或者""
@NotNull 对象不能为NULL
@Length 字符串的长度限制
只要在request中参数有上面的注解,框架就会自动校验
@Auth(auth = {"BASE","ADMIN"})//使用在API类名上
需要在每次访问网关时候设置一下用户拥有的权限列表,框架把权限值放在ThreadLocal中的
ApiThreadLocalUtils.setAuthDatas(null);//null就是你的权限列表
按照上面配置好,框架自动校验,以上则更新到这里啦
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。