#resteasy
#resteasy
Вопрос:
Документация для переключателя resteasy.use.builtin.providers
конфигурации гласит:
Следует ли регистрировать встроенные классы @Provider по умолчанию.
Я установил для этого значение false, чтобы использовать свой собственный формат (GWT) JSON, но хотел бы знать, чего мне не хватает или есть ли кто-нибудь, кого я не должен исключать.
Итак, каковы встроенные классы @Provider в Resteasy или как я могу их найти?
Ответ №1:
Я не знаю документации для этого. Лучшим способом может быть поиск в источниках.
Если вы используете только resteasy-jaxrs, вы можете найти этих поставщиков в master-branch:
* org.jboss.resteasy.client.exception.mapper.ApacheHttpClient4ExceptionMapper
* org.jboss.resteasy.core.AcceptHeaderByFileSuffixFilter
* org.jboss.resteasy.plugins.interceptors.encoding.AcceptEncodingGZIPFilter
* org.jboss.resteasy.plugins.interceptors.encoding.AcceptEncodingGZIPInterceptor
* org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor
* org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor
* org.jboss.resteasy.plugins.providers.DataSourceProvider
* org.jboss.resteasy.plugins.providers.DefaultTextPlain
* org.jboss.resteasy.plugins.providers.DocumentProvider
* org.jboss.resteasy.plugins.providers.FileProvider
* org.jboss.resteasy.plugins.providers.FormUrlEncodedProvider
* org.jboss.resteasy.plugins.providers.IIOImageProvider
* org.jboss.resteasy.plugins.providers.InputStreamProvider
* org.jboss.resteasy.plugins.providers.JaxrsFormProvider
* org.jboss.resteasy.plugins.providers.ReaderProvider
* org.jboss.resteasy.plugins.providers.SerializableProvider
* org.jboss.resteasy.plugins.providers.SourceProvider
* org.jboss.resteasy.plugins.providers.StringTextStar
Это классы @Provider
, аннотированные с. В основном они зарегистрированы в META-INF/services/ javax.ws.rs.ext.Providers .
Но я не уверен, почему вы хотите отключить их. AFAIK, если вы зарегистрируете @Provider
which @Produces(MediaType.APPLICATION_JSON)
или @Consumes(MediaType.APPLICATION_JSON)
значение по умолчанию, оно будет проигнорировано.
Комментарии:
1. Спасибо, я попробую это. Проблема в том, что у меня разные типы носителей для каждой сущности, такие как application/vnd.kornell.v1.entity.person json, не знаю, как это будет работать. Чтобы сохранить исходных поставщиков, я в конечном итоге явно отключил поставщиков json в jboss-deployment-structure.xml