yangyoupeng

添加修改接口

......@@ -7,6 +7,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.action.search.SearchResponse;
......@@ -52,6 +53,18 @@ public class ESServiceInfoLoader implements ServiceInfoLoader{
}
return null;
}
@Override
public ServiceInfo findServiceInfoByID(String serviceID) throws Exception {
GetResponse getReponse=client.prepareGet(GWConstants.DEFAUL_SERVICE_INDEX, DEFAUL_SERVICE_TYPE, serviceID).get();
if (getReponse != null) {
Map<String, Object> serivceDoc = getReponse.getSource();
ServiceInfo serivceInfo= setServiceInfo(serivceDoc,serviceID);
LOG.info("find serviceinfo [{}] docs with serviceID:[{}]",serivceInfo,serviceID);
return serivceInfo;
}
LOG.info("find no serviceinfo with serviceID:[{}]",serviceID);
return null;
}
@Override
......@@ -174,9 +187,15 @@ public class ESServiceInfoLoader implements ServiceInfoLoader{
public boolean addServiceInfo(ServiceInfo newServiceInfo) throws JsonProcessingException {
String docString=Utils.toJson(newServiceInfo);
IndexResponse indexResponse=null;
if(ObjectUtils.isEmpty(newServiceInfo.getServiceID())){
indexResponse= client.prepareIndex(GWConstants.DEFAUL_SERVICE_INDEX, DEFAUL_SERVICE_TYPE)
.setSource(docString).get();
}else{
indexResponse=client.prepareIndex(GWConstants.DEFAUL_SERVICE_INDEX, DEFAUL_SERVICE_TYPE,newServiceInfo.getServiceID())
.setSource(docString).get();
}
IndexResponse indexResponse= client.prepareIndex(GWConstants.DEFAUL_SERVICE_INDEX, DEFAUL_SERVICE_TYPE)
.setSource(docString).get();
LOG.info("add service info:[{}],result details:[{}]",newServiceInfo,indexResponse);
if(indexResponse !=null){
LOG.info("success to add service info:[{}],id:[{}]",newServiceInfo,indexResponse.getId());
......@@ -203,4 +222,5 @@ public class ESServiceInfoLoader implements ServiceInfoLoader{
}
}
......
......@@ -3,6 +3,8 @@ package com.zhaoonline.support.gateway.service;
public interface ServiceInfoLoader {
public ServiceInfo findServiceInfo(String serviceName) throws Exception;
public ServiceInfo findServiceInfoByID(String serviceID) throws Exception;
public ServiceQueryResult findAllServiceInfo(String serviceName) throws Exception;
public boolean deleteServiceInfoByID(String serviceID) throws Exception;
......
......@@ -6,12 +6,15 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.View;
import com.zhaoonline.support.gateway.apijar.ApiResponse;
import com.zhaoonline.support.gateway.service.ServiceInfo;
......@@ -30,6 +33,15 @@ public class ApiInfoController {
ApiResponse response=apiInfoService.queryAllServiceInfo();
return response;
}
@GetMapping("/query/{serviceID}")
@ResponseBody
public ApiResponse query(ModelAndView model,@PathVariable(value="serviceID") String serviceID) {
ApiResponse response=apiInfoService.findServiceInfoByID(serviceID);
return response;
}
@GetMapping("/delete/{serviceID}")
@ResponseBody
public ApiResponse delete(@PathVariable String serviceID) {
......@@ -45,4 +57,13 @@ public class ApiInfoController {
ApiResponse response=apiInfoService.addServiceInfo(serviceInfo);
return response;
}
@RequestMapping(path="/update",method=RequestMethod.POST)
@ResponseBody
public ApiResponse update(@RequestBody ServiceInfo serviceInfo) {
LOG.info("requese to update service info {}",serviceInfo);
ApiResponse response=apiInfoService.updateServiceInfo(serviceInfo);
return response;
}
}
......
......@@ -78,4 +78,36 @@ public class APIInfoService {
return response;
}
public ApiResponse updateServiceInfo(ServiceInfo serviceInfo) {
ApiResponse response=new ApiResponse();
try {
boolean result=serviceLoader.addServiceInfo(serviceInfo);
if(!result){
response.setCode(ApiResponse.CODE_FAIL);
}
} catch (Exception e) {
response.setCode(ApiResponse.CODE_FAIL);
Map<String,String> returnMsg=new HashMap<String,String>();
returnMsg.put("error",String.format("exception happens when query servic info:%s ", e.getMessage()));
LOG.error("exception happens when query servic info,cause by {}",e.getMessage());
}
return response;
}
public ApiResponse findServiceInfoByID(String serviceID) {
ApiResponse response=new ApiResponse();
try {
ServiceInfo serviceInfo=serviceLoader.findServiceInfoByID(serviceID);
response.setData(serviceInfo);
} catch (Exception e) {
response.setCode(ApiResponse.CODE_FAIL);
Map<String,String> returnMsg=new HashMap<String,String>();
returnMsg.put("error",String.format("exception happens when query servic info:%s ", e.getMessage()));
LOG.error("exception happens when query servic info,cause by {}",e.getMessage());
response.setData(returnMsg);
}
return response;
}
}
......