我有一个servlet路由
Log4net
我正在使用以下代码设置响应。
from("servlet:/?matchOnUriPrefix=true").to("cxfbean:jaxrsServicesproviders=jaxrsProviders")
当有RESTLET路线时
if (fromEndpoint.equals(SERVLET_ENDPOINT)) {
String jsonInString = getJSonString(error);
exchange.getOut().setBody(jsonInString, HttpServletResponse.class);
if (Status.fromStatusCode(error.getResponseCode()) == null) {
exchange.getOut().setHeader(Exchange.HTTP_RESPONSE_CODE, Status.FORBIDDEN.getStatusCode());
} else {
exchange.getOut().setHeader(Exchange.HTTP_RESPONSE_CODE, error.getResponseCode());
}
exchange.getOut().setHeader(Exchange.CONTENT_TYPE, javax.ws.rs.core.MediaType.APPLICATION_JSON);
}
我正在使用此代码。
from("restlet:/matchOnUriPrefix=true").to("cxfbean:jaxrsServicesproviders=jaxrsProviders")
现在,如果我尝试使用不同的端点,如spring-ws
if (fromEndpoint.equals(RESTLET_ENDPOINT)) {
org.restlet.Response response = ((org.restlet.Response) exchange.getIn().getHeader(RestletConstants.RESTLET_RESPONSE, org.restlet.Response.class));
org.restlet.data.Status status = org.restlet.data.Status.valueOf(error.getResponseCode());
if (status == null) {
response.setStatus(org.restlet.data.Status.CLIENT_ERROR_FORBIDDEN);
} else {
response.setStatus(status);
}
String jsonInString = getJSonString(error);
response.setEntity(jsonInString, MediaType.APPLICATION_JSON);
exchange.getOut().setBody(response);
如何设置响应。是否有一种通用的方法来设置所有端点的响应,而不是检查每种端点类型。?