Skip to content

Instantly share code, notes, and snippets.

@cschneider
Created March 31, 2020 10:16
Show Gist options
  • Save cschneider/4c3297404ef5450b60b3172af796aa74 to your computer and use it in GitHub Desktop.
Save cschneider/4c3297404ef5450b60b3172af796aa74 to your computer and use it in GitHub Desktop.
@Component
@ApplicationPath("/distribution")
public class JerseyConfig extends ResourceConfig {
@Autowired
public JerseyConfig(ObjectMapper objectMapper) {
register(new ObjectMapperContextResolver(objectMapper));
}
@PostConstruct
public void init() {
this.SwaggerConfig();
register(QueuesResource.class);
register(DiscoveryResource.class);
register(StatusResource.class);
register(MultiPartFeature.class);
}
private void SwaggerConfig() {
this.register(ApiListingResource.class);
this.register(SwaggerSerializers.class);
BeanConfig swaggerConfigBean = new BeanConfig();
swaggerConfigBean.setPrettyPrint(true);
swaggerConfigBean.setVersion("v2");
swaggerConfigBean.setSchemes(new String[] { "http" });
swaggerConfigBean.setBasePath("/distribution");
swaggerConfigBean.setScan(true);
swaggerConfigBean.setResourcePackage(QueuesResource.class.getPackage().getName());
swaggerConfigBean.setConfigId("ContentDistributionService");
swaggerConfigBean.setTitle("Content Distribution Service");
swaggerConfigBean.setContact("");
}
@Provider
public static class ObjectMapperContextResolver implements ContextResolver<ObjectMapper> {
private final ObjectMapper mapper;
public ObjectMapperContextResolver(ObjectMapper mapper) {
this.mapper = mapper;
}
@Override
public ObjectMapper getContext(Class<?> type) {
return mapper;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment