rest路径形式相同的话,通过@GET @DELETE 区别
来源:互联网 发布:隐形眼镜 知乎 编辑:程序博客网 时间:2024/05/22 12:09
通过位置对应接收参数,如果rest路径形式相同的话,通过@GET @DELETE 区别 ,前面的调用代码deleteCharAt
@GET
@Path("nsds/{nsdId}")
@DELETE
@Path("nsds/{nsdId}")
这种情况用这个区分
HttpClientDeleteRequest.java
super(url);
}
//应用端
@Override
public Integer deleteInsById(String ids) {
logger.info("删除一组实例");
String[] insList = ids.split(",");
int code = 0;
for (String insId : insList) {
String eventId =UUID.randomUUID().toString();
int codeNum = 0;
String requestUrl = ConfigFileLoad.getConfContent("NFVO_IP") + "/rest/nsrs/" + insId;
HttpClientRequest deleteRequest = new HttpClientDeleteRequest(requestUrl);
try {
codeNum =deleteRequest.processAndSaveLog(new HttpClientResponseHandler() {
@Override
public void handle(String response, String retCode, String msg) throws HttpClientException {
logger.debug("删除一组实例,返回状态:" + retCode + ",返回消息:" + msg);
}
},eventId);
} catch (HttpClientException e) {
e.printStackTrace();
}
// String[] res =codeNum.split(",");
// int resflag =Integer.valueOf(res[0]);
code = code + codeNum;
String status = "ok";
if (codeNum != 0) {
status = "failed";
}
// 记录日志
logService.saveOperateLog("nsr.delete", ids, status, status,delEventName,eventId);
}
if (code == 0) {
return 1;
} else {
return -1;
}
}
//工具类
HttpClientDeleteRequest
@Override
public HttpMethod getHttpMethod() {
StringBuilder builder = new StringBuilder();
for (Entry<String, Object> entry : params.entrySet()) {
builder.append(entry.getKey()).append("=").append(String.valueOf(entry.getValue())).append("&");
}
String param = null;
if (builder.length() != 0)//这种情况用这个区分
param = builder.deleteCharAt(builder.length() - 1).toString();
String url = null;
if (StringUtils.isEmpty(param))
url = this.url;
else
url = this.url + "?" + param;
HttpMethod httpMethod = new DeleteMethod(url);
return httpMethod;
}