public ErrorMessage(String message) { jsonObject.put("code", 200); jsonObject.put("message", message); jsonObject.put("success", false); jsonObject.put("type", "error"); jsonObject.put("data", null); } public JSONObject getMessage() { return jsonObject; }什么意思
时间: 2024-04-06 22:32:06 浏览: 159
这段代码定义了 `ErrorMessage` 类的构造函数和一个返回 `JSONObject` 类型的 `getMessage()` 方法。
在构造函数中,传入一个字符串类型的参数 `message`,然后将 code、message、success、type 和 data 这些键值对分别存储到 `jsonObject` 对象中。其中,code 的值为 200,表示请求成功;message 的值为传入的参数 `message`;success 的值为 false,表示请求失败;type 的值为 "error",表示错误类型;data 的值为 null,表示没有数据返回。
在 `getMessage()` 方法中,返回 `jsonObject` 对象。该方法可以在其他类中被调用,以获取 `jsonObject` 对象并将其转换为 JSON 字符串,用于返回给客户端。
相关问题
Map<String, OrganizationEo> organizationEoMap = comDataComponent.getAllOrganizationMap(); Map<String, UserEo> userEoMap =comDataComponent.getUserMapByUid(); String code = ""; SchemaColumnRuleResponseDto responseDto = new SchemaColumnRuleResponseDto(); BeanUtils.copyProperties(requestDto,responseDto); //用户是否存在 if(!CollectionUtils.isEmpty(requestDto.getColumnPermissionUserList())){ for (String userUid : requestDto.getColumnPermissionUserList()) { if(!userEoMap.containsKey(userUid)){ code = Message.NOT_EXIST.getCode(); responseDto.setResultCode(code); responseDto.setResultMsg(userUid+messageInfo.getMessageByCode(code)); return responseDto; } } schemaColumnRuleEo.setColumnPermissionUserList(JSONObject.toJSONString(requestDto.getColumnPermissionUserList())); } //用户组织是否存在 if(!CollectionUtils.isEmpty(requestDto.getColumnPermissionOrgList())){ List<String> orgList = requestDto.getColumnPermissionOrgList(); for (String orgCode : orgList) { if(!organizationEoMap.containsKey(orgCode)){ code = Message.NOT_EXIST.getCode(); responseDto.setResultCode(code); responseDto.setResultMsg(orgCode+messageInfo.getMessageByCode(code)); return responseDto; } } schemaColumnRuleEo.setColumnPermissionOrgList(JSONObject.toJSONString(orgList)); } return new SchemaColumnRuleResponseDto();代码优化最优的
优化代码最优的方式是将重复的代码提取出来,使用方法进行复用,可以使用一个方法来检查用户和用户组织是否存在。同时,可以使用一个变量来存储错误代码和错误信息,避免重复赋值。最终优化后的代码如下:
```
public SchemaColumnRuleResponseDto checkColumnPermission(SchemaColumnRuleRequestDto requestDto, Map<String, OrganizationEo> organizationEoMap, Map<String, UserEo> userEoMap) {
SchemaColumnRuleResponseDto responseDto = new SchemaColumnRuleResponseDto();
BeanUtils.copyProperties(requestDto, responseDto);
String errorCode = "";
if (!CollectionUtils.isEmpty(requestDto.getColumnPermissionUserList())) {
errorCode = checkExistence(userEoMap, requestDto.getColumnPermissionUserList(), "用户");
if (!StringUtils.isEmpty(errorCode)) {
responseDto.setResultCode(errorCode);
responseDto.setResultMsg(messageInfo.getMessageByCode(errorCode));
return responseDto;
}
schemaColumnRuleEo.setColumnPermissionUserList(JSONObject.toJSONString(requestDto.getColumnPermissionUserList()));
}
if (!CollectionUtils.isEmpty(requestDto.getColumnPermissionOrgList())) {
errorCode = checkExistence(organizationEoMap, requestDto.getColumnPermissionOrgList(), "组织");
if (!StringUtils.isEmpty(errorCode)) {
responseDto.setResultCode(errorCode);
responseDto.setResultMsg(messageInfo.getMessageByCode(errorCode));
return responseDto;
}
schemaColumnRuleEo.setColumnPermissionOrgList(JSONObject.toJSONString(requestDto.getColumnPermissionOrgList()));
}
return responseDto;
}
private String checkExistence(Map<String, ?> map, List<String> list, String type) {
for (String key : list) {
if (!map.containsKey(key)) {
return Message.NOT_EXIST.getCode();
}
}
return "";
}
```
public class ResponseUtils { /* * 定义write方法,将java对象以文本形式输出到HTTP响应中,一般用于web开发的API接口 */ public static void write(HttpServletResponse response,Object object) throws Exception { response.setContentType("text/plain;charset=utf-8"); response.getWriter().print(object.toString()); response.getWriter().flush(); response.getWriter().close(); } public static JSONObject resultBean(boolean isSuccess, String message, Object bean, int errorCode){ /* * 构造一个JSONObject对象,表示用于返回web API相应的数据结构 */ JSONObject object = new JSONObject(); object.put("success", isSuccess);//处理结果 object.put("message", message);//提示信息 object.put("data", bean);//相应数据 object.put("errorCode", errorCode);//错误码 return object; } public static <T> JSONObject resultBean(boolean isSuccess, String message, List<T> list, int errorCode){ /* * 与上一个方法相似,但此方法支持返回一个List集合类型的数据 */ JSONObject object = new JSONObject(); object.put("success", isSuccess); object.put("message", message); object.put("data", list); object.put("errorCode", errorCode); return object; } }代码含义
这段代码是一个工具类,包含了两个方法:write和resultBean。这些方法可以帮助开发者将Java对象以文本形式输出到HTTP响应中,用于web开发的API接口。
其中,write方法用于将Java对象输出到HTTP响应中,需要传入一个HttpServletResponse对象和一个Object对象,它会将Object对象转换成字符串,并输出到响应中。该方法首先设置响应的内容类型为"text/plain;charset=utf-8",然后将字符流写入响应中,并最后关闭字符流。
resultBean方法用于构造一个JSONObject对象,用于返回web API相应的数据结构。它支持返回一个数据对象或一个List集合类型的数据对象。该方法需要传入一个布尔类型的参数isSuccess,用于表示处理结果是否成功;一个String类型的参数message,用于提示信息;一个Object类型的参数bean或一个List集合类型的参数list,用于相应数据;以及一个int类型的参数errorCode,用于错误码。该方法通过构造一个JSONObject对象,并设置其中的四个属性值,最终返回该JSONObject对象。
阅读全文