java-apibuilder-generators-.../templates/jax-rs-config.java.mustache

57 lines
1.8 KiB
Plaintext
Raw Normal View History

2021-07-17 19:26:41 +02:00
/**
* Auto-generated from apibuilder.io service specification.
* apidoc-version : {{service.apidoc.version}}
* organisation : {{service.organization.key}}
* service-version : {{service.version}}
*
* Documentation at:
* <a href="https://app.apibuilder.io/{{service.organization.key}}/{{service.name}}/{{service.version}}">https://app.apibuilder.io/{{service.organization.key}}/{{service.name}}/{{service.version}}</a>
*
**/
package {{namespace}}.client;
2021-07-17 19:26:41 +02:00
import lombok.*;
2021-07-17 20:29:39 +02:00
import org.glassfish.jersey.client.HttpUrlConnectorProvider;
2021-07-17 19:26:41 +02:00
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
2021-07-18 15:25:15 +02:00
import javax.ws.rs.client.ClientRequestFilter;
import javax.ws.rs.client.ClientRequestContext;
import java.io.IOException;
2021-07-17 19:26:41 +02:00
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
2021-07-17 19:26:41 +02:00
@Builder(toBuilder = true)
@With
@Getter
@EqualsAndHashCode
2021-07-18 15:25:15 +02:00
public class {{configName}} implements ClientRequestFilter {
2021-07-17 19:26:41 +02:00
@NonNull
private final String baseUrl;
2021-07-18 15:25:15 +02:00
{{#headers}}/** {{#description}}{{.}}
{{/description}} **/{{#required}}
@NonNull{{/required}}
private {{{type.name}}} {{label}};
{{/headers}}
public Client getClient() {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
return ClientBuilder.newClient()
.register(mapper)
.register(this)
.property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true);
}
2021-07-18 15:25:15 +02:00
@Override
public void filter(ClientRequestContext requestContext) throws IOException {
{{#headers}}
requestContext.getHeaders().add("{{name}}", this.{{label}});
{{/headers}}
}
2021-07-17 19:26:41 +02:00
}