All Downloads are FREE. Search and download functionalities are using the official Maven repository.

templates.class.vm Maven / Gradle / Ivy

package $packageName;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

@Component
public class $className#if($superInterfaces) implements #foreach($interface in $superInterfaces)$interface#if( $foreach.hasNext ),#end#end#end {

    @Autowired
    private $clientFactoryClassName clientFactory;

#foreach($endpoint in $endpoints)
#if($endpoint.requestParam)
    #set($requestParamName = "$writer.resolveTypeName($endpoint.requestParam, $types)")
#end
#set($returnTypeName = "$writer.resolveTypeName($endpoint.returnType, $types)")
#set($returnTypeNameStr = "$endpoint.returnType.getClassName()" + ".class")
    #parse("/templates/method_base.vm") {
        RestTemplate restTemplate = clientFactory.getRestTemplate();
        String baseUrl = clientFactory.getBaseUrl();
#if($endpoint.httpMethod == "POST")
        ResponseEntity<$returnTypeName> response = restTemplate.postForEntity(baseUrl + "$endpoint.url", requestObject, $returnTypeNameStr);
        return response.getBody();
#elseif($endpoint.httpMethod == "PUT")
        restTemplate.put(baseUrl + "$endpoint.url", requestObject);
#elseif($endpoint.httpMethod == "DELETE")
        restTemplate.delete(baseUrl + "$endpoint.url");
#else
        ResponseEntity<$returnTypeName> response = restTemplate.getForEntity(baseUrl + "$endpoint.url", $returnTypeNameStr);
        return response.getBody();
#end
    }

#end
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy