Converter converter = conversionFactory.getConverter(type); ServiceRequest serviceRequest = new ServiceRequest(serviceName, methodName, converter); serviceRequest.setParamTypes(paramTypes);
public Converter getConverter(String type) { for (Converter converter : getConverters()) { if (converter.getType().equals(type) && converter.getApiVersions().contains(restApiVersion)) return converter; } throw new RuntimeException("Converter not found"); } }
@RequestMapping(value = "/api/service", method = RequestMethod.POST) public void serviceByPost(@RequestParam(value = "s") String sessionId, @RequestHeader(value = "Content-Type") MimeType contentType, @RequestBody String requestContent, HttpServletRequest request, HttpServletResponse response) throws IOException, JSONException { if (!connect(sessionId, response)) return; try { Converter converter = conversionFactory.getConverter(contentType); ServiceRequest serviceRequest = converter.parseServiceRequest(requestContent); if (!restServicePermissions.isPermitted(serviceRequest.getServiceName(), serviceRequest.getMethodName())) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return; } Object result = serviceRequest.invokeMethod(); String converted = converter.processServiceMethodResult(result, serviceRequest.getMethodReturnType()); writeResponse(response, converted, converter.getMimeType()); } catch (RestServiceException e) { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage()); log.error("Error processing request: " + request.getRequestURI() + "?" + request.getQueryString(), e); } catch (Throwable e) { sendError(request, response, e); } finally { authentication.end(); } }
public Converter getConverter(MimeType requestedForm) { if (requestedForm != null) { for (Converter converter : getConverters()) { if (requestedForm.match(converter.getMimeType()) && converter.getApiVersions().contains(restApiVersion)) return converter; } } throw new RuntimeException("Converter not found"); }
Converter converter = conversionFactory.getConverter(type); String result = converter.process(entities, metaClass, loadCtx.getView()); writeResponse(response, result, converter.getMimeType());
response.setStatus(HttpServletResponse.SC_NOT_FOUND); } else { Converter converter = conversionFactory.getConverter(type); String result = converter.process(entity, metaClass, loadCtx.getView()); writeResponse(response, result, converter.getMimeType());
Converter converter = conversionFactory.getConverter(contentType);
Converter converter = conversionFactory.getConverter(contentType);