一、需求说明
1、入参是Xml格式得字符串。
<Request>
<Head>
<sign>9EDC1556DCE89DABDA04C27E3B4250CC</sign>
<requestUUID>620400-255479FBF0DD4E249E93B5FDC9AFED32</requestUUID>
</Head>
<Body>
<id>103B50523201900000055</id>
<Url>http://www.baidu.com</Url>
<Code>00012</Code>
</Body>
</Request>
2、需要判断非空得值是否为null。
3、相应字段为null,返回 message=“XXX(属性名)不能为空”
TIPS:其实属性值有很多,要写好多if判断,想寻求一下更加简洁得方法,尝试了@NotEmpty,@Notisblank,好像不行
我只会这么写,有没有大佬指教一下给指导,指导,更加简洁方便得写法
public String query(HttpServletRequest request) {
String requestXml = null;
XmlVoUtil xmlVoUtil = new XmlVoUtil();
try {
requestXml = StreamUtils.copyToString(request.getInputStream(), Charset.forName("UTF-8"));
Request request = XmlVoUtil.converyToJavaBean(requestXml, Request.class);
//其实有很多属性,不想满篇都是if判断,该如何简洁得写
if (StringUtil.isEmpty(request.Body.id)) {
return Analysis.response("false","id不能为空");
}
if (StringUtil.isEmpty(request.Body.Url)) {
return Analysis.response("false","地址不能为空");
}
return Analysis.response("true", "成功");
} catch (Exception e) {
e.printStackTrace();
return Analysis.response("false", "系统异常");
}
}
public String response(String result, String message) {
Response response = new Response();
response.Flag = result;
response.Message = message;
XmlVoUtil xmlVoUtil = new XmlVoUtil();
String responseBodyXml = xmlVoUtil.bean2xml(response, "UTF-8");
return xmlVoUtil.bean2xml(responseBodyXml ,"UTF-8");
}