Object responseObject = null;
try {
IResponseBuilder responseBuilder = (IResponseBuilder) ApsWebApplicationUtils.getBean(SystemConstants.API_RESPONSE_BUILDER, request);
Properties properties = this.extractRequestParameters(ui);
properties.put(SystemConstants.API_LANG_CODE_PARAMETER, langCode);
ApiMethod apiMethod = responseBuilder.extractApiMethod(httpMethod, namespace, resourceName);
String entandoApiToken = this.extractApiToken(request, ui);
if (null != entandoApiToken) {
this.extractTokenParameters(entandoApiToken, apiMethod, request, properties);
} else {
this.extractOAuthParameters(apiMethod, request, response, properties);
}
Class expectedType = apiMethod.getExpectedType();
Object bodyObject = null;
if (MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) {
JSONProvider jsonProvider = new JSONProvider();
bodyObject = jsonProvider.readFrom(expectedType, expectedType.getGenericSuperclass(),
expectedType.getAnnotations(), mediaType, null, request.getInputStream());