Вопросы с тегами [springfox]

1

голосов
0

ответ
636

Просмотры

Springfox Swagger2 и гуавы - java.lang.StackOverflowError

Я добавил Springfox Swagger2 2.8.0 в моем проекте Spring загрузки 2 и во время запуска приложения, запустить в следующем номере: com.google.common.util.concurrent.ExecutionError: java.lang.StackOverflowError в com.google.common. cache.LocalCache $ Segment.get (LocalCache.java:2216) ~ [гуава-23.0.jar: на] в com.google.common.cache.LocalCache.get (LocalCache.java:4147) ~ [гуава-23.0.jar : на] в com.google.common.cache.LocalCache.getOrLoad (LocalCache.java:4151) ~ [гуавы-23.0.jar: Na] в com.google.common.cache.LocalCache $ LocalLoadingCache.get (LocalCache.java : 5140) ~ [гуава-23.0.jar: на] в com.google.common.cache.LocalCache $ LocalLoadingCache.getUnchecked (LocalCache.java:5146) ~ [гуава-23.0.jar: на] в springfox.documentation.spring .web.scanners.CachingOperationReader.read (CachingOperationReader.java:57) ~ [springfox-весна-веб-2.8.0.jar: 2.8,0] при springfox.documentation.spring.web.scanners.ApiDescriptionReader.read (ApiDescriptionReader.java:70) ~ [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web. scanners.ApiListingScanner.scan (ApiListingScanner.java:90) [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.scanners.ApiDocumentationScanner.scan (ApiDocumentationScanner.java:71) [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.scanDocumentation (DocumentationPluginsBootstrapper.java:96) [springfox-пружинно-веб-2.8.0.jar : 2.8.0] на springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start (DocumentationPluginsBootstrapper.java:158) [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на org.springframework.context. служба поддержки.DefaultLifecycleProcessor.doStart (DefaultLifecycleProcessor.java:183) [весна-контекст-5.0.1.RELEASE.jar: 5.0.1.RELEASE] в org.springframework.context.support.DefaultLifecycleProcessor.access $ 200 (DefaultLifecycleProcessor.java:52) [ весна-контекст-5.0.1.RELEASE.jar: 5.0.1.RELEASE] в org.springframework.context.support.DefaultLifecycleProcessor $ LifecycleGroup.start (DefaultLifecycleProcessor.java:358) [весна-контекстуальной 5.0.1.RELEASE. банка: 5.0.1.RELEASE] на org.springframework.context.support.DefaultLifecycleProcessor.startBeans (DefaultLifecycleProcessor.java:159) [весенне-контекст-5.0.1.RELEASE.jar: 5.0.1.RELEASE] на org.springframework .context.support.DefaultLifecycleProcessor.onRefresh (DefaultLifecycleProcessor.java:123) [весенне-контекстно-5.0.1.RELEASE.jar: 5.0.1.RELEASE] на org.springframework.context.support.AbstractApplicationContext.finishRefresh (AbstractApplicationContext.java:884) [весенне-контекстно-5.0.1.RELEASE.jar: 5.0.1.RELEASE] на org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:143) [весенне-загрузки-2.0.0.M6.jar: 2.0.0.M6] на org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:552) [весенне-контекстно-5.0.1.RELEASE.jar : 5.0.1.RELEASE] на org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:122) [весна-загрузки 2.0.0.M6.jar: 2.0.0.M6] на org.springframework.boot.SpringApplication.refresh (SpringApplication.java:751) [весенне-загрузки-2.0.0.M6.jar: 2.0.0.M6] на org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java: 387) [весна-загрузки 2.0.0.M6.банка: 2.0.0.M6] на org.springframework.boot.SpringApplication.run (SpringApplication.java:327) [весна-загрузке 2.0.0.M6.jar: 2.0.0.M6] на org.springframework.boot .SpringApplication.run (SpringApplication.java:1245) [весенне-загрузки-2.0.0.M6.jar: 2.0.0.M6] на org.springframework.boot.SpringApplication.run (SpringApplication.java:1233) [весенне загрузки 2.0.0.M6.jar: 2.0.0.M6] в com.decisionwanted.api.Application.main (Application.java:40) [/ классы: на] вызвано следующими причинами: java.lang.StackOverflowError: нуль на java.util.Currency.getInstance (Currency.java:318) ~ [па: 1.8.0_152] на java.util.Currency.getInstance (Currency.java:399) ~ [па: 1.8.0_152] на java.text. DecimalFormatSymbols.initialize (DecimalFormatSymbols.java:638) ~ [па: 1.8.0_152]. на java.text.DecimalFormatSymbols (DecimalFormatSymbols.java:113) ~ [па: 1.8.0_152] на sun.util.locale.provider.DecimalFormatSymbolsProviderImpl.getInstance (DecimalFormatSymbolsProviderImpl.java:85) ~ [па: 1.8.0_152] на java.text.DecimalFormatSymbols.getInstance (DecimalFormatSymbols.java:180) ~ [па: 1.8.0_152] на java.util.Formatter.getZero ( Formatter.java:2283) ~ [па: 1.8.0_152] на java.util.Formatter (Formatter.java:1892) ~ [па: 1.8.0_152].. на java.util.Formatter (Formatter.java:1914) ~ [па: 1.8.0_152] на java.lang.String.format (String.java:2940) ~ [па: 1.8.0_152] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.nestedParentName (ModelAttributeParameterExpander. Java: 259) ~ [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:97) ~ [springfox-весна -web-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter .ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java: 114) ~ [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-весна-веб -2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-весна-веб -2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-весна-веб-2.8.0.jar: 2.8. 0] в springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring. web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-пружинно-веб-2.8.0.jar: 2.8.0] на springfox.documentation.spring.web.readers.parameter.ModelAttributeParameterExpander.expand (ModelAttributeParameterExpander.java:114) ~ [springfox-весна-веб-2.8.0.jar: 2.8.0] Что может быть причиной этой проблемы и как это исправить?
alexanoid
1

голосов
1

ответ
348

Просмотры

Весна + Кураж: Multipart форма

Я вывешивать многослойную форму к приложению Spring загрузки. Например @PostMapping (значение = "/ Foo", потребляет = MediaType.MULTIPART_FORM_DATA_VALUE) общественного недействительными postFooAsMultiPart (@RequestBody Foo Foo) {...} Spring делает очень хорошую работу сортировочных многосекционный запрос на объект (StandardServletMultipartResolver). Я представляю конечную точку с помощью Swagger (Springfox). Зависимости: io.springfox: springfox-swagger2: 2.8.0 io.springfox: springfox-чванство-УИ: 2.8.0 Тем не менее, это делает все тело как единое поле: HTTP: // локальный: 8080 / v2 / API- Docs ... "параметры": [{ "в": "тело", "имя": "Foo", "описание": "Foo", "требуется": правда, "схема": { "$ реф": "# / определения / Foo"}}], ... Мой вопрос: Можно ли получить Кураж, чтобы сделать каждый из атрибутов Foo в виде отдельных параметров? Примечание: В качестве обходного пути я использовал @ApiImplicitParams, чтобы указать атрибуты всех Foo в на уровне контроллера. Однако я вижу это как более обходной путь, а не правильное решение. Редактировать Я потратил немного времени, следующий код, и я уверен, что это не может быть сделать с текущей версией. Я открыл вопрос на GitHub репо, предлагающие изменения. Я буду обновлять / ответить на этот вопрос в зависимости от результата. Однако я вижу это как более обходной путь, а не правильное решение. Редактировать Я потратил немного времени, следующий код, и я уверен, что это не может быть сделать с текущей версией. Я открыл вопрос на GitHub репо, предлагающие изменения. Я буду обновлять / ответить на этот вопрос в зависимости от результата. Однако я вижу это как более обходной путь, а не правильное решение. Редактировать Я потратил немного времени, следующий код, и я уверен, что это не может быть сделать с текущей версией. Я открыл вопрос на GitHub репо, предлагающие изменения. Я буду обновлять / ответить на этот вопрос в зависимости от результата.
Andy N
1

голосов
1

ответ
184

Просмотры

Как перенести чванство-ui.html Использование springfox и JAX-RS?

Я использую JAX-RS с Spring ботинком и springfox для создания чванства-UI от аннотаций. В настоящее время документы находятся по адресу: // локальный: 8080 / чванство-ui.html Однако, теперь у меня есть требование, чтобы переместить это HTTP: // локальный: 8080 / API / index.html После этого вопроса комментарий У меня есть класс, который выглядит следующим образом: @Configuration общественного класс SwaggerUIConfig расширяет WebMvcConfigurerAdapter {@Override общественного недействительный addViewControllers (ViewControllerRegistry реестр) {registry.addRedirectViewController ( "/ документация / v2 / API-документы", "/ v2 / API-Docs"); registry.addRedirectViewController ( "/ документация / конфигурации / щ", "/ конфигурации / щ"); registry.addRedirectViewController ( "/ документация / конфигурация / безопасность", "/ конфигурация / безопасность"); реестр. addRedirectViewController ( "/ документация / чванство-ресурсы", "/ чванство-ресурсы"); } @Override общественного недействительный addResourceHandlers (ResourceHandlerRegistry реестр) {реестр .addResourceHandler ( "/ документы / **") .addResourceLocations ( "путь к классам: / META-INF / ресурсы /"); }} Это ставит страницу по адресу: // локальный: 8080 / документация / чванство-ui.html. Тем не менее, он также по-прежнему оставляет по адресу: // локальный: 8080 / чванство-ui.html Как изменить его от развязность-ui.html в index.html? Как переместить его из HTTP: // локальный: 8080 / чванство-ui.html вместо того, чтобы скопировать его (или просто сделать оригинальный недоступен)? Если я найти / заменить приведенный выше код для документации API у меня есть еще один вопрос, потому что мой сервлет уже определен в / API. @SpringBootApplication @ EnableSwagger2 общественного класса SpringApplication расширяет SpringBootServletInitializer {@Bean общественного ServletRegistrationBean апи () {ServletRegistrationBean регистрация = новый ServletRegistrationBean (новый ServletContainer () "/ апи / *"); registration.addInitParameter (ServletProperties.JAXRS_APPLICATION_CLASS, SwaggerResourceConfig.class.getName ()); registration.setName ( "API"); вернуться в регистрации; }} Общественного класса SwaggerResourceConfig расширяет ResourceConfig {общественного SwaggerResourceConfig () {регистр (ApiListingResource.class); Регистр (SwaggerSerializers.class); }} Как я могу переместить чванство-UI в мой сервлет корень вместо моего контекста корня? JAXRS_APPLICATION_CLASS, SwaggerResourceConfig.class.getName ()); registration.setName ( "API"); вернуться в регистрации; }} Общественного класса SwaggerResourceConfig расширяет ResourceConfig {общественного SwaggerResourceConfig () {регистр (ApiListingResource.class); Регистр (SwaggerSerializers.class); }} Как я могу переместить чванство-UI в мой сервлет корень вместо моего контекста корня? JAXRS_APPLICATION_CLASS, SwaggerResourceConfig.class.getName ()); registration.setName ( "API"); вернуться в регистрации; }} Общественного класса SwaggerResourceConfig расширяет ResourceConfig {общественного SwaggerResourceConfig () {регистр (ApiListingResource.class); Регистр (SwaggerSerializers.class); }} Как я могу переместить чванство-UI в мой сервлет корень вместо моего контекста корня?
opticyclic
1

голосов
1

ответ
326

Просмотры

Сформировать чванство JSON файл во время компиляции для проекта springfox на основе

Я работаю проект, который использует springfox для создания API документации. Я хочу, чтобы генерировать swagger.json во время компиляции. Ниже приведен пример конфигурации springfox, @Configuration @ EnableSwagger2 общественного класса SwaggerConfig {@Bean общественного Ярлык productApi () {возвратить новый Docket (DocumentationType.SWAGGER_2) .select () .apis (RequestHandlerSelectors.basePackage ( "com.abc.xyz")) .paths (регулярное выражение ( "/*.*")) .build (); }} FYI: Я также попытался https://github.com/kongchen/swagger-maven-plugin плагин, но он не работает
Mayur
1

голосов
1

ответ
1.7k

Просмотры

Кураж 2 springfox @ApiModel подтип не работает

Я использую swagger2 аннотации весной boot.I я использую springfox-swagger2 версию 2.2.2. Свойство «пример» в @ApiModelProperty аннотации не получает признания. @ApiModelProperty (имя = "EmpName", пример = "SomeName") В swagger.json он отображается как "EmpName": "строка" вместо "EmpName": "SomeName". Кроме того, свойство «подтипы» в @ApiModel не признается. Пожалуйста помоги!
Anon
1

голосов
2

ответ
488

Просмотры

Spring Контекст Инициализация происходит сбой при обновлении до версии 4.2.3

Мой проект был запущен большим использованием Spring 4.2.2.RELEASE и Spring Security 4.0.3.RELEASE. Я хочу, чтобы обновить его до последней версии Spring, 4.2.3.RELEASE, чтобы воспользоваться Bugfix включены в релиз. Я использую Maven для управления зависимостями, поэтому я скорректирована мой РОМ, чтобы выглядеть следующим образом: Родитель POM проекта: апи модель UTF-8 4.2.3.RELEASE 4.0.3.RELEASE API POM: org.springframework весна-ядро $ { spring.version} org.springframework весна веб $ {spring.version} org.springframework весна-webmvc $ {spring.version} org.springframework весна-ТХ $ {spring.version} org.springframework весна-АОП $ {весна. DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) при java.lang.reflect.Method.invoke (Method.java:497) при org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) в орг .codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) при org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) при org.codehaus.plexus.classworlds.launcher .Launcher.main (Launcher.java:356) Я заметил, что Spring Security 4.0.3.RELEASE зависит от Spring 4.2.2.RELEASE (моя старая версия). Может ли это быть причиной проблемы? запуск (Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) в org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) Я заметил, что Spring Security 4.0.3.RELEASE зависит от Spring 4.2.2.RELEASE (моя старая версия). Может ли это быть причиной проблемы? запуск (Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) в org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) Я заметил, что Spring Security 4.0.3.RELEASE зависит от Spring 4.2.2.RELEASE (моя старая версия). Может ли это быть причиной проблемы?
hartz89
1

голосов
1

ответ
359

Просмотры

Есть ли springfox-swagger2 поддержку интерфейса, выбирая несколько файлов одновременно?

Я использую Spring бутс и интегрированное чванство-Ui (springfox-swagger2), и я хочу, чтобы иметь возможность выбрать загружать несколько файлов одновременно. К сожалению, Сваггер UI не появляется, чтобы позволить этому, по крайней мере, не дать мой метод контроллера. Мой метод контроллера подпись: @ApiOperation (значение = «Пакетная загрузка товары обложка», заметки = «Пакетная загрузка товаров обложки», ответ = UploadCoverResultDTO.class, responseContainer = «Список») Результат общественного uploadGoodsCover (@ApiParam (значение = " массив изображения», AllowMultiple = правда, требуется = истина) @RequestPart („образ“) MultipartFile [] файлы) броски IOException {Кураж UI генерироваться: Но я ожидал, что пользовательский интерфейс похож на это: это более удобно выбрать все фотографии в папки в один присест, а не выбирать один момент времени, например: Есть ли swagger2 springfox-поддерживают это? Если да, то какие изменения мне нужно сделать?
zhuguowei
1

голосов
1

ответ
1.7k

Просмотры

Изменение имени и описания конечной точки в Swagger-интерфейса

Я использую загрузку Spring и Spring Data Rest реализовать свой Rest API. Документально его, я использовал Swagger с этими зависимостями Maven: io.springfox springfox-swagger2 2.6.1 io.springfox springfox-чванство-щ 2.6.1 io.springfox springfox-данных остальное 2.6.1 Я хотел бы изменить и настроить чуток мою страницу Кураж UI. Я хочу изменить название и описание он появится на странице HTML, конкретно эти имена выделены красным цветом на скриншоте, но ничего не работает. Я пытался добавлять аннотацию @Api моих сущностей и хранилищ классов / интерфейсов, но ничего не работает. Любая идея о том, как настроить его? Спасибо!
alonso_50
1

голосов
1

ответ
780

Просмотры

Кураж UI Bad Request Generation URL

I've been using swagger for some time now and I have now ran into a problem where the generated request URL puts my optional parameters in the request. This is not happening on other projects I have that are using the same annotations, swagger version, and swagger maven version. Here is a code snippet inside my @Controller private static final String BY_USERNAME = "byUsername"; private static final String BY_NAME = "byName"; private static final String BY_PHONENUMBER = "byPhoneNumber"; private static final String BY_USERTYPENAME = "byUserTypeName"; private static final String BY_ACTIVE = "byActive"; private static final String BY_ACTIVE_AND_AVAILABLE = "byActiveAndAvailable"; @ApiOperation(value = "Read User(s)", notes = "notes removed so post wont be so long", consumes = "application/x-www-form-urlencoded") @RequestMapping(value = "", method = RequestMethod.GET, consumes = "application/x-www-form-urlencoded") @ApiImplicitParam(value = "Authorization Token", name = TokenAuthenticationService.HEADER_STRING, dataType = "String", paramType = "header") @ApiResponses(value = { @ApiResponse(message = "successful read call", code = 200), @ApiResponse(message = "bad parameter provided", code = 400) }) public Page readUser( @ApiParam(name = "queryType", value = "type of query", allowableValues = BY_USERNAME + "," + BY_NAME + "," + BY_PHONENUMBER + "," + BY_USERTYPENAME + "," + BY_ACTIVE + "," + BY_ACTIVE_AND_AVAILABLE) @RequestParam(value = "queryType", required = true) String queryType, @ApiParam(name = "username", value = "username of user") @RequestParam(value = "username", required = false) String username, @ApiParam(name = "name", value = "name of user(s)") @RequestParam(value = "name", required = false) String name, @ApiParam(name = "phoneNumber", value = "phone number of user(s)") @RequestParam(value = "phoneNumber", required = false) String phoneNumber, @ApiParam(name = "userTypeName", value = "user type name of user(s)") @RequestParam(value = "userTypeName", required = false) String userTypeName, @ApiParam(name = "active", value = "active status of user(s)") @RequestParam(value = "active", required = false) Boolean active, @ApiParam(name = "available", value = "available status of user(s)") @RequestParam(value = "available", required = false) Boolean available, Pageable pageable) { This is very basic swagger annotations. The problem is the resulting URL in the swagger-ui looks like this: When I attempt to use it, it puts these inside the REST request. This of course causes spring to throw exceptions about invalid characters I tried searching all over the internet, swagger pages, and here on stackoverflow and I could not find any mention of this error. The very weird thing is, if I change the RequestMethod to be POST it works as it should. Seems to be a bug in swagger-ui handling optional parameters. Anyone else ran into this? Is there a fix besides making the request method POST? EDIT: The "consumes = "application/x-www-form-urlencoded"" was not in my original code. I've been debugging this and adding stuff to try and make it work lol. Versions used: springfox-swagger2 version 2.6.1 springfox-swagger-ui version 2.6.1
GSUgambit
1

голосов
1

ответ
530

Просмотры

Как добавить пользовательскую аннотацию в swagger2, используя с Springfox?

Я использую swagger2 и я хочу, чтобы создать новую @ApiSepecificationInfo аннотацию, и это должно быть рассмотреть в автоматическом генераторе swagger2 док (как если бы я ударил Gradlw generatordoc) @Target (ElementType.METHOD) @Retention (RetentionPolicy.RUNTIME) общественного @interface ApiSpecificationInfo {имя String (); Описание Строка (); }, Пожалуйста, дайте мне это возможно или нет?
Akash Nmdv
1

голосов
1

ответ
800

Просмотры

Spring Загрузочный Сваггер: Как игнорировать некоторые API, из чванства на основе пружинного профиля?

В настоящее время есть в моем классе контроллера некоторые частные API, которые мне нужно игнорировать их в своей производственной среде, в то время как необходимый в среде QA и Dev. Я использую @ApiIgnore аннотацию из пружинной лисицы для достижения этой цели на глобальном уровне. Есть ли способ, где я могу выполнить эту аннотацию, основанную на переменном окружение весной загрузки? Или любое другое решение для решения этой проблемы?
Shoaib627
1

голосов
1

ответ
216

Просмотры

Можно ли использовать пружинные авто-restdocs с Swagger / SpringFox?

Можно ли использовать пружинные авто-restdocs с Swagger / SpringFox, swagger2markup? Я хотел бы: - Использовать Кураж / SpringFox, чтобы обеспечить зону теста, но затем я хочу примеры в этом интерфейсе, чтобы быть похожими на то, что - пружинно-restdoc делает для того чтобы обеспечить образец фрагменты кода И - Использование пружинных-авто-restdocs в получить документацию от POJO, который представляет ваш объект JSON, просто добавив Javadoc к полям и не чванство аннотациям
Melissa
1

голосов
1

ответ
378

Просмотры

REDOC + SpringFox Swagger2 + дополнительные модели

Мой случай использования заключается в следующем: я генерировать OpenAPI-compilant спецификации в формате JSON с использованием SpringFox Swagger2 в моем приложении Spring загрузки. При конфигурировании Docket боб я использую его метод additionalModels (), чтобы добавить модель, которую я хотел бы, чтобы документ. Эта модель явно не используется какой-либо конечной точки. При проверке сгенерированных / v2 / API-документации, а также развязность-ui.html Я могу подтвердить, что эта модель должным образом помещен под свойство «Определения» наряду со всеми другими моделями. С другой стороны, REDOC только кажется, делают конечные точки и их явно используемые модели и ответы. Могу ли я каким-то образом заставить REDOC, чтобы сделать это один дополнительный класс? Как, например, как-то ссылаться на него в описании API? Я не уверен, но я думаю, что это связанно с этим вопросом. Если это так, и это
dkaras
1

голосов
1

ответ
513

Просмотры

java.lang.NumberFormatException: For input string: “443,80”

Я получаю следующее исключение при ударять мое приложение бэкенд Spring загрузки, который развернут на контейнере Kubernetes: java.lang.NumberFormatException: Для ввода строки: «443,80» Все мои услуги регистрируются эврика: #Eureka spring.application. имя = имя-приложения eureka.client.registerWithEureka = истина eureka.client.fetchRegistry = истина eureka.client.serviceUrl.defaultZone = HTTP: // приложение-эврика-DEV / эврика eureka.instance.preferIpAddress = истина eureka.instance.non -Secure-порт с поддержкой = истина и все мои запросы направляются через проникающие / Zuul услуг. spring.application.name = приложение-шлюз eureka.client.registerWithEureka = ложь eureka.client.fetchRegistry = истина eureka.client.serviceUrl.defaultZone = HTTP: // приложение-Эврика-DEV / эврика Когда мы пытаемся поразить серверные службы от Кураж API, я получаю ниже исключения. java.lang.
pappu_kutty
1

голосов
1

ответ
0

Просмотры

Как установить SpringFox, чтобы показать два (или более) версию API Rest с помощью Spring Ботинок?

Я пытаюсь выяснить, как управлять два (или более) версией моих API конечных точек с использованием Spring Fox. Для версии API, моя, я использую Versioning путем переговоров контента, также известным как Versioning используя Accept заголовка. Версии каждой конечной точки управляются индивидуально с помощью информации заголовка. Пер Например, для первой версии я использую атрибут производит: @Override @PostMapping (производит = «приложение / vnd.company.v1 + JSON») общественный ResponseEntity CreateUser (для второй версии, я использую: @Override @PostMapping (продуцирует = "приложение / vnd.company.v2 + JSON", потребляет = "приложение / vnd.company.v2 + JSON") общественный ResponseEntity createUserVersion2 (не использовать потребляет для первой (v1) версии, поэтому, если клиент использовать только приложение / JSON на вызов первая версия будет называться по умолчанию. Я хотел бы показать две версии на Swagger UI. Как это сделать?
Dherik
1

голосов
1

ответ
870

Просмотры

как заменить модель параметров схемы тела с реальным примером

У меня есть весна-загрузочную / пружинный Mvc и springfox swagger2 интеграции. Я приложил пример снимка экрана. В типе параметра «тело» У меня есть модель схема, которые описывают типы элементов данных. строка, 0 и т.д.! Как я могу заменить его на конкретном примере, так что я могу «Попробуйте». Это было бы более полезным для моего API потребителя.
nir
1

голосов
2

ответ
1.1k

Просмотры

Change model schema for java.sql.Time in swagger-ui

In my spring-boot application, I use swagger2 to document the web-services. I use some classes that have java.sql.Time and java.util.Date attributes. In swagger-ui, they appears like this : Date : Time : I want to modify this to display : "change_date": "YYYY-MM-DD" "change_time": "mm:ss" Here is my class : @lombok.Data @JsonRootName("translation_value") @ApiModel(value="TranslationValue", description="Traduction de valeur") public class TranslationValue implements Serializable { @JsonProperty("translation_id") private Integer translationId; @JsonProperty("family") private String family; @JsonProperty("language_code") private String languageCode; @JsonProperty("value") private String value; @JsonProperty("translation_language_code") private String translationLanguageCode; @JsonProperty("translation_value") private String translationValue; @JsonProperty("delivered") private String delivered; @JsonProperty("creation_date") private Date creationDate; @JsonProperty("creation_time") private Time creationTime; @JsonProperty("creation_user") private String creationUser; @JsonProperty("change_date") private Date changeDate; @JsonProperty("change_time") private Time changeTime; @JsonProperty("change_user") private String changeUser; @JsonProperty("status") private String status; @JsonProperty("orignal_translation_id") private Integer orignalTranslationId; } How can I do this ? I don't find any annotation to set the format.
YLombardi
1

голосов
1

ответ
905

Просмотры

How to replace joda.DateTime with String in springfox?

I'm trying to document my spring (version 3.2.6) app using springfox (version 2.0.2). My model class has a org.joda.time.DateTime field. When this is rendered in the response model schema it looks something like this: "dataAsOf": { "afterNow": true, "beforeNow": true, "centuryOfEra": 0, "chronology": { "zone": { "fixed": true } }, "dayOfMonth": 0, "dayOfWeek": 0, "dayOfYear": 0, "equalNow": true, "era": 0, "hourOfDay": 0, "millis": 0, "millisOfDay": 0, "millisOfSecond": 0, "minuteOfDay": 0, "minuteOfHour": 0, "monthOfYear": 0, "secondOfDay": 0, "secondOfMinute": 0, "weekOfWeekyear": 0, "weekyear": 0, "year": 0, "yearOfCentury": 0, "yearOfEra": 0, "zone": { "fixed": true } } I would really like to get rid of those useless details that my field has. So far I've tried this in my swagger configuration class: @Configuration @EnableSwagger2 public class SwaggerConfiguration { @Bean public Docket restfulApi() { String deploymentEnvironment = EnvironmentUtils.getDeployedEnvironment(); Docket docket = new Docket(DocumentationType.SWAGGER_2) .enable(isSwaggerEnabled(deploymentEnvironment)) .apiInfo(getApiInfo()) .directModelSubstitute(DateTime.class, String.class); docket = new ApiSelectorBuilder(docket) .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .build(); return docket; } public ApiInfo getApiInfo() { ApiInfo apiInfo = new ApiInfo("API", "RESTful description", "1.0", "terms of service", "[email protected]", "Licence Type", "License URL"); return apiInfo; } public boolean isSwaggerEnabled(String deploymentEnvironment) { return deploymentEnvironment.equalsIgnoreCase("local") ? true : false; } } So I've used Docket's directModelSubstitute method to replace the DateTime class with String class, but with no success. The dateAsOf field is still being displayed with all that extra info. I've also tried using the @ApiOperation(dateType="java.lang.String") on my getter for the dataAsOf field, but it still didn't work. Can you help me figure out what am I missing?
Luthien Nargothrond
1

голосов
0

ответ
12

Просмотры

Задаваемая возврата объектной модели

Я использую springfox и springboot для создания MVC API. У меня есть класс общего ответа / POJO, который используется для возврата следующего JSON: { «данные»: {}, «статус»: «строка»} Поле данных я определил его как объект: личные данные объектов; Так что я могу назначить любой объект в данных, прежде, чем ответ. Мой вопрос заключается в том, чтобы показать, что объект должен вернуться в Swagger? Например, ниже будет сказать, что это вернуть собаку как данные: GET / API / собака: { «данные»: Собака {}, «статус»: «строка»} ниже будет сказать, что это вернуть собаку как данные: GET / API / кошки: { "данные": CAT {}, "статус": "строка"} Может быть, я использую генериков T?
Alvin
1

голосов
1

ответ
590

Просмотры

как скрыть поле во время сериализации (но не десериализации)

В нашем проекте проекте API (SpringMVC) Rest Я хочу использовать только одну модель как для запроса и ответа (чтобы избежать необходимости добавить тонны коды, чтобы скопировать поле от объекта к объекту) Я хотел бы использовать Swagger, чтобы обрабатывать весь док , но я бег в небольшую проблему. Для примера скажем у меня есть модель пользователя общественного класса User {Private Long ID; личное имя пользователя Строка; частная строка пароля; } И простой контроллер общественных недействительный CreateUser (@RequestBody пользователь User) ... Public User GetUser (Long ID) .. Теперь я хотел бы чванство, чтобы скрыть пароль собственности на десериализации, но не сериализации (так что наличие его отображение для ввода, но выход) и противоположный для поля Id. Я попытался с помощью @JsonIgnore в сочетании с @JsonProperty но на swagager-интерфейса он либо отображает все или скрывает все. Я не могу управлять ей работать. Может кто-нибудь указать мне, что это лучший способ архивирования своей цели? Можно ли использовать одну модель для запроса и ответа при использовании чванства? В случае, если это не представляется возможным использовать @JsonIgnore, есть способ архивировать это по-другому?
Johny19
1

голосов
1

ответ
1.4k

Просмотры

Springfox Swagger2 - @ApiOperation не работает

Я использую springfox-swagger2 для моей Spring MVC REST API. Все хорошо работает с чванством, но моя проблема, я не могу добавить дополнительную информацию к моей развязность документации. Maven зависимости: io.springfox springfox-swagger2 2.2.2 io.springfox springfox-чванство-UI 2.2.2 Моего Swagger конфигурационного класса: @Configuration @EnableWebMvc @ EnableSwagger2 @ComponentScan ( "path.to.controller.package") общественный класс SwaggerConfig {@Bean общественного Ярлык customImplementation () {вернуть новый Docket (DocumentationType.SPRING_WEB) .apiInfo (apiInfo ()); } @Bean общественного UiConfiguration uiConfig () {вернуть UiConfiguration.DEFAULT; } Частная ApiInfo apiInfo () {ApiInfo apiInfo = новый ApiInfo ( "Service API", "Simple REST Service", "0.0.1", " метод, все, кроме моих ДОПОЛНИТЕЛЬНО, определенных в @ApiOperation и @ApiImplicitParams. Кто-нибудь есть идея, откуда эта проблема может исходить от? В PARAMS также не в файле формата JSON, который создается из чванства.
K.E.
1

голосов
1

ответ
3.2k

Просмотры

Форс с весны отдыха: API-документы не генерирует JSON

Я пытаюсь интегрировать swagger2 с моей Spring MVC. Но когда я пытаюсь получить доступ к HTTP: // MyHost / MYAPP / API-документы, я не в состоянии получить JSON. Не могли бы вы мне помочь, чтобы выяснить, что происходит не так с моим кодом. Мой pom.xml (чванство связанное) io.springfox springfox-swagger2 2.2.2 io.springfox springfox-чванство-интерфейс 2.2.2 Моя web.xml MVC-диспетчерская org.springframework.web.servlet.DispatcherServlet 1-диспетчера Mvc / * Мой MVC-dispatcher.xml SwaggerConfig.java общественного класса SwaggerConfig {@Autowired @Bean публичный реестр апи () {вернуть новый Ярлык (DocumentationType.SWAGGER_2) .Select () .apis (RequestHandlerSelectors.any ()). пути (PathSelectors.any ()) .build () .groupName ( "человек") .apiInfo (apiInfo ()); } Частная ApiInfo apiInfo () {ApiInfo apiInfo = новый ApiInfo ( "Мой проекта REST API", "Это описание вашего API.", "API TOS", "URL", "[email protected]", «API лицензия», "API лицензия URL"); вернуться apiInfo; }} Мой контроллер @RestController @RequestMapping ( "/ человек") @Api (значение = "Person Rest Service") общественного класса PersonController {@RequestMapping (значение = "/ getPerson", метод = RequestMethod.GET) @ApiOperation (значение = «Принеси человек» ) Общественное @ResponseBody лицо getPersons () {Person человек = новый Person (); person.setFirstname ( "имя_файла"); person.setLastname ( "LNAME"); person.setAge (37); person.setDepartment ( "отдел"); вернуть человека; }} Я не уверен, если я ничего здесь отсутствует. Но когда я пытаюсь получить доступ к HTTP: // локальный: 8080 / MYAPP / API-документы, я не в состоянии видеть JSON. Я был бы очень признателен, если кто-то может пролить свет на это. Спасибо, Смит Я был бы очень признателен, если кто-то может пролить свет на это. Спасибо, Смит Я был бы очень признателен, если кто-то может пролить свет на это. Спасибо, Смит
user3733591
1

голосов
1

ответ
577

Просмотры

Демаршаллизация Параметры запроса в объект, используя Swagger / Springfox и Spring бутс

У меня есть поиск конечной точки в моей службы REST. Я использую Spring бутс, так что я получил установку @RestController с методом, который возвращает результаты поиска на основе поискового запроса. Это определение метода: @ApiOperation (значение = "Получить глобальные результаты поиска") @RequestMapping (метод = GET, производит = { "приложение / JSON"}) общественное SearchResults получить (SearchQuery запрос) {...} Я надеялся, что SwaggerUI покажет поля в SearchQuery в виде отдельных параметров запроса в пользовательском интерфейсе. Это не делает; он просто показывает общие «запрос» параметры. Если я аннотировать запрос с @RequestBody пользователя может добавить полезную нагрузку JSon к телу, но это запрос GET - Я хочу, чтобы пользователь только Params использование запроса. Есть идеи?
mofeeta
1

голосов
1

ответ
888

Просмотры

Swagger2Markup: как группировать по тегам при использовании Swagger удаленной конечной точки из теста?

Я использую большой swagger2markup плагин для создания Asciidoc документации для моего REST API, как это предусмотрено Swagger. Я следовал swagger2markup документации, и я использую тест интеграции Spring MVC для создания разметки из моей Springfox Swagger конечной точки, как это (я использую Maven): @RunWith (SpringJUnit4ClassRunner.class) @SpringBootTest (классы = {AppConfig.class, SwaggerConfig .class}) общественный класс DocumentationIT {защищенного MockMvc mockMvc; @Autowired защищен WebApplicationContext webApplicationContext; @Rule общественного JUnitRestDocumentation restDocumentation = новый JUnitRestDocumentation ( "SRC / документы / asciidoc / apidoc / сгенерированные-фрагменты"); @Before общественной недействительная нАлАдкА () {this.mockMvc = MockMvcBuilders.webAppContextSetup (webApplicationContext). применяются (documentationConfiguration (this.restDocumentation)) .build (); } @Test общественный недействительный convertSwaggerToAsciiDoc () бросает исключение {this.mockMvc.perform (получить ( "/ v2 / API-документы") Признавай (MediaType.APPLICATION_JSON)) .andDo (Swagger2MarkupResultHandler .outputDirectory ( "SRC / Docs / asciidoc / apidoc ") .withExamples (" SRC / документы / asciidoc / apidoc / сгенерированные-фрагменты ") построить ()) .andExpect (статус () isOk ())..; }} Все работает прекрасно, и все мои пути в моей окончательной документации, однако все пути появляются непосредственно в корневом каталоге, и не группируются по ресурсам (т.е. контроллеров), поэтому метод 1 из контроллера 1 появится на том же уровне, что и метод 2 от контроллера 2. Мой выход: Что я хотел: Из того, что я могу видеть, когда с помощью генерации из локального файла, как в этом swagger2-разметки шаблона Maven проекта вы можете указать свойство сказать swagger2markup группировать пути по тегам, используя TAGS конфигурации свойств, однако, кажется, не быть такой конфигурации при использовании Swagger2MarkupResultHandler из теста. Единственный вариант withMarkupLanguage (), но нет никакого способа withPathsGroupedBy () ... Могу ли я что-то пропустил? Однако там, кажется, не быть такой конфигурации при использовании Swagger2MarkupResultHandler из теста. Единственный вариант withMarkupLanguage (), но нет никакого способа withPathsGroupedBy () ... Могу ли я что-то пропустил? Однако там, кажется, не быть такой конфигурации при использовании Swagger2MarkupResultHandler из теста. Единственный вариант withMarkupLanguage (), но нет никакого способа withPathsGroupedBy () ... Могу ли я что-то пропустил?
Pom12
1

голосов
1

ответ
335

Просмотры

Automatically adding @ImplicitParams with specific type of method argument of Spring Controller

Раньше я был контроллер Spring, как показано ниже. @RequestMapping (метод = GET) getResponses Публичного списка (@RequestParam (DefaultValue = "1") INT смещения, @RequestParam (DefaultValue = "10") INT предел) {Pagination пагинация = новая Разбивка (смещение, предел); ... вернуться someResponse; } Сваггер был генерируя документ этого метода с правильными параметрами информации. Позже я создал PaginationArgResolver путем внедрения HandlerMethodArgumentResolver. После этого, я должен обновить метод, как показано ниже, и применить @ApiImplicitParams, чтобы заставить его работать с Swagger. @ApiImplicitParams ({@ApiImplicitParam (имя = "смещение", тип данных = "Int", DefaultValue = "1"), @ApiImplicitParam (имя = "предел", тип данных = "Int", DefaultValue = "10" )}) @RequestMapping (метод = GET) getResponses Публичный список (@ApiIgnore Pagination разбиения на страницы) {...} Есть в любом случае @ImplicitParams применяется автоматически всякий раз, когда тип Pagination аргумент найден? ИЛИ Если я разоблачить @PaginationSupported аннотацию, я могу обрабатывать его для достижения тех же результатов? Я в настоящее время использую springfox V2.4.0. PS. Я могу изменить источник класса PAGINATION, в случае, если какая-то развязность аннотация необходима там.
Bilal Mirza
1

голосов
3

ответ
816

Просмотры

springfox generating REST operations on all HTTP methods

Я пытаюсь использовать springfox 2.6.1 (springfox-swagger2 и springfox-чванство-Ui) с приложением Spring MVC для создания чванства документации. Мое приложение имеет много существующего REST API, однако я только хочу, чтобы swaggerize один из них в данный момент. Она напоминает следующее: @RestController общественного класса MyController {@RequestMapping (значение = "/ getapi / {ключ}", продуцирует = MediaType.APPLICATION_JSON_VALUE) @ApiOperation (значение = "получить что-то", ответ = MyEntity.class) @ApiResponse ( код = 404, сообщение = «Не найдено») общественный ResponseEntity находка (@ApiParam (значение = «», требуется = истина) @PathVariable Строка ключ) {...} Я следовал пару примеров, чтобы помочь мне начать работу : http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api А «простой» способ реализации Swagger в приложении Spring MVC После запуска приложения и навигации по HTTP: //host/my-app/swagger-ui.html Я вижу документы для моего контроллера REST, однако под списком операций все возможные HTTP метод. То есть в GET, POST, PUT, DELETE и т.д. для того же REST конечной точки. Я ожидал увидеть только операции GET. Ниже моя конфигурация боб. Что-то отсутствует или неправильно? @Configuration @ EnableSwagger2 общественного класса Config {@Bean общественного Ярлык апи () {вернуть новый Docket (DocumentationType.SWAGGER_2) .select () .apis (RequestHandlerSelectors.withMethodAnnotation (ApiOperation.class)) .build () .apiInfo (apiInfo () ); } Частная ApiInfo apiInfo () {вернуть новый ApiInfoBuilder (). Название ( "Мой API"). Версия ( "v1" ) .Build (); }}
user1491636
1

голосов
1

ответ
509

Просмотры

SpringFox Кураж и LocalTime

Кто-нибудь знает, как форматировать МестноеВремя в Springfox? Преобразование в формат ISO работает LocalDate с этой установкой в ​​ObjectMapper .featuresToDisable (SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) Но для МестноеВремя я все еще получаю это в примере и модели развязности-интерфейс «время»: { «час»: «строка», " минут ":„строка“,„нано“: 0,„второй“:„строка“} Я то, что чванство спецификации не используют формат времени читать. Является ли это несколько связано?
Zveratko
1

голосов
1

ответ
1.2k

Просмотры

Springfox Кураж Ui из существующих JSON

У меня есть Gradle поддержал заявление SpringBoot, где мы были первоначально только создавая наши контроллеры REST, а затем с помощью @ EnableSwagger2 аннотацию, чтобы создать наше чванство интерфейса. Это работает просто отлично, но теперь мы хотим, чтобы перейти к API первого подхода. Таким образом, это означает, что мы сейчас создаем наш swagger.json первый, а затем с помощью чванство-CodeGen для получения генерировать наши Java интерфейсы / контроллеры для использования в нашем SpringBoot приложении. Я сейчас пытаюсь выяснить, как просто сказать springfox-чванство-UI использовать swagger.json мы создали, вместо того, чтобы смотреть через код Java для создания пользовательского интерфейса после того, как факт. Мне кажется, что это правильный подход, чтобы избежать каких-либо несоответствий, которые могли бы возникнуть в результате существенно springfox-развязность-ш от регенерации swagger.json за кулисами. Как я могу идти о настройке этого поведения? Благодарю.
SpaceGerbil
0

голосов
1

ответ
76

Просмотры

Springfox Сваггер: Не удалось разрешить указатель: / определения / Мгновенные

У нас есть проект SpringBoot, и мы используем Springfox Swagger для создания документации по API. Там есть класс ответа, который включает в себя: частная коллекция quartzScheduledDates; Когда я бегу SwaggerUI, я получаю это сообщение: Ошибки Резольвер ошибка при paths./subscriptions/{subscriptionIdStr}.get.responses.200.schema.properties.quartzScheduledDates.items.$ref не удалось разрешить ссылку из-за: Не удалось разрешить указатель : / определения / Мгновенные не существует в документе Мы используем Springfox Swagger 2.9.2, SpringBoot 2.1.2-RELEASE. Я также попытался использовать ярлык трик в springfox, как виден в Springfox документации: docket.directModelSubstitute (Instant.class, java.util.Date.class); При отсутствии успеха - то же сообщение об ошибке. Что я делаю неправильно?
Vlad Dinulescu
1

голосов
1

ответ
1k

Просмотры

Кураж + Spring: можно ли сохранить порядок полей в полезной нагрузке?

Предполагая, что мой класс полезной нагрузки является: общественный класс Payload {частный окончательный длинный идентификатор; частная окончательная строка Afield; } Springfox сортирует поля полезной нагрузки в лексикографическом порядке, который будет производить следующую полезную нагрузку спецификации: { «Afield»: «строка», «ID»: 0} Есть ли какой-либо параметр управления, который говорит springfox сохранить оригинальные поля заказ?
Sergey Pauk
0

голосов
0

ответ
6

Просмотры

SpringFox Кураж не работает, как ожидалось на IBM Liberty 19.0.0.1

Прикрепленный ниже (Swagger на Tomcat) (нажмите, чтобы увеличить в) - Swagger интерфейс моего приложения на Tomcat 9 Attached (Кураж на Liberty) (нажмите, чтобы увеличить в) - Swagger интерфейс моего приложения на Liberty 19.0.0.1 В Tomcat, как может видно, тело ответа 200 ясно показано и «Попробуйте» исполнение опциона безупречно. Тем не менее, в Свободе, тело 200 ответа не показано и «Попробуйте» результаты выполнения в теле ответа, заполненные с ошибками следующим образом (укороченная): Error Page Exception SRVE0260E: Сервер не может использовать страницу ошибок, указанную для приложения к обрабатывать Оригинал Exception напечатанный ниже. Оригинал Исключение: Сообщение об ошибке: Несанкционированный Код ошибки: 401 Target Servlet: DispatcherServlet Ошибки Stack: com.ibm.ws.webcontainer.webapp.WebAppErrorReport: Несанкционированное на com.ibm.ws. Может кто-то пожалуйста, помогите точку в подоплеке за Liberty не в состоянии отобразить ответ Swagger или положение «Оцените это» особенность? Как я уже говорил, то же плавно работает на сервере Tomcat 9. С уважением, Бхарат
bmylavar
1

голосов
1

ответ
634

Просмотры

Сформировать Swagger из JSON, чтобы очистить свои классы .java

Я использую Springfox V 2.7, и я хотел бы, чтобы сформировать свой Swagger UI из файла JSON, чтобы мои классы контроллера в чистоте и без аннотаций из Swawgger (@Api, @ApiDocs) либо мои модели классов без каких-либо аннотаций (@ApiModelProperty и т.д.) .... С уважением! PD: Это загрузочная Весна 1.5.8 версии App.
tomas lingotti
0

голосов
0

ответ
4

Просмотры

интеграция Кураж в проект NON SpringBoot с использованием SpringFox

У меня такой же вопрос, как здесь. Я хочу, чтобы интегрировать развязность в не проект пружинных загрузок. Я последовал шаги, приведенные в ответе здесь, который использует springfox, но я получаю следующее сообщение об ошибке при запуске сервера: org.springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем «org.springframework.web.servlet.mvc.method .annotation.RequestMappingHandlerAdapter ": инициализация боба не удалось; вложенное исключение org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании боб с именем, определенным в URL [баночки 'cachingModelPropertiesProvider': файл! * / WEB-INF / Библиотека / springfox-схема-2.9.2.jar / springfox / документация / схемы / свойство / CachingModelPropertiesProvider.class]: Неудовлетворенная зависимость выражается через параметр конструктора 1; вложенное исключение org.springframework.beans.factory. BeanCreationException: Ошибка при создании боба с именем «оптимизированная»: Не удались самоанализ класс компоненты [springfox.documentation.schema.property.OptimizedModelPropertiesProvider] для метаданных методы поиска: не может найти класс, который зависит от того, вложенное исключение составляет java.lang.NoClassDefFoundError: ком / fasterxml / одноклассник / Участники / ResolvedParameterizedMember
Sarosh Aga
1

голосов
1

ответ
290

Просмотры

Why does @ApiModelProperty “name” attribute has no effect?

В моей весенней загрузке приложения, у меня есть объект DTO с вложенным списком объектов DTO. Класс: @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor @ApiModel (значение = "контакт") общественного класса ContactDTO {@ApiModelProperty (значение = "идентификатор", например, = "1", спрятанных = истина) частная Long ID; @ApiModelProperty (значение = "первое имя", например, = "John") частная строка ПгвЬЫат; @ApiModelProperty (значение = "фамилия", пример = "Doe") частная строка LastName; @ Builder.Default @ApiModelProperty (значение = "список телефонных номеров", имя = "номера телефонов") Список phoneNumberDTOList = новый ArrayList (); } Пример значение чванство запроса на сообщение: { «FirstName»: «Джон», «LastName»: «Доу», «phoneNumberDTOList»
m1well
1

голосов
1

ответ
70

Просмотры

Можем ли мы использовать чванство с пружинными загрузками 1.3 и Java 6?

Я пишу Апи и мне нужно делать документацию, используя чванство. Я использую пружинные загрузки 1.3.5, потому что сервер приложений стар и имеет Java 6, выполненный не может обновить до 8, как сейчас. Можем ли мы использовать springfox чванство с Java 6?
Paras Sharma
2

голосов
0

ответ
10

Просмотры

Как вручную Генерация экземпляра Swagger ApiModel

Если у меня есть следующий класс: @ApiModel SomeEvent общественного класса {@ApiModelProperty (значение = «Уникальный идентификатор этого события», пример = «MY_EVENT») личное окончательное Струнное типСобытие; @JsonCreator общественного SomeEvent (@JsonProperty (значение = "типСобытие", требуется = истина) Строка типСобытие) {this.eventType = типСобытие; } Строка общественного getEventType () {вернуться типСобытия; }} Я хотел бы использовать Swagger для создания экземпляра и сериализовать его к следующему JSON: { «типСобытия»: «MY_EVENT»} Используя этот класс в качестве @RequestBody в моем Spring контроллера загрузки, ожидаемая сериализовать форма отображается отлично на Swagger UI. Тем не менее, я хотел бы иметь возможность создавать экземпляр (где экземпляр» ые поля содержат значения из примера в @ApiModelProperty) с помощью кода. Я искал вокруг и не мог найти ни одного примера того, как это сделать, если предположить, что можно достичь. Примечание: Я не хочу, чтобы просто создать экземпляр с помощью нового SomeEvent ( «MY_EVENT») ;, а использовать Swagger, чтобы захватить примеры.
Jacob G.
0

голосов
0

ответ
4

Просмотры

добавить описание апи к существующему чванству API с помощью пружинного боба

DocumentationPluginsManager pluginsManager) {вернуть новый ApiListingScanner (apiDescriptionReader, apiModelReader, pluginsManager) {@Override общественного Multimap сканирования (контекст ApiListingScanningContext) {MultiMap APIs = super.scan (контекста); Список операций = Collections.singletonList (новый OperationBuilder (новый CachingOperationNameGenerator ()) .method (HttpMethod.GET) .uniqueId ( "githubSso") .summary ( "Github SSO конечная точка") .notes ( "Конечная точка для аутентификации Github SSO"). responseMessages (Collections.singleton (новый ResponseMessageBuilder () .code (200). сообщение ( "HTML страницы для основного приложения") .build ())) .build ()); apis.put ( "githubOauth", новый ApiListingBuilder (context.getDocumentationContext (). getApiDescriptionOrdering ()) .apis (Collections.singletonList (новый ApiDescription (NULL, "/ OAuth / GitHub", "Github SSO документы", операции, ложь) )) .build ()); вернуться APIs; }}; } Но это не работает. Когда я пытаюсь добавить @Primary к моему бобу приложение не с NullPointerException. В чем проблема? ) .Build ())) .build ()); apis.put ( "githubOauth", новый ApiListingBuilder (context.getDocumentationContext (). getApiDescriptionOrdering ()) .apis (Collections.singletonList (новый ApiDescription (NULL, "/ OAuth / GitHub", "Github SSO документы", операции, ложь) )) .build ()); вернуться APIs; }}; } Но это не работает. Когда я пытаюсь добавить @Primary к моему бобу приложение не с NullPointerException. В чем проблема? ) .Build ())) .build ()); apis.put ( "githubOauth", новый ApiListingBuilder (context.getDocumentationContext (). getApiDescriptionOrdering ()) .apis (Collections.singletonList (новый ApiDescription (NULL, "/ OAuth / GitHub", "Github SSO документы", операции, ложь) )) .build ()); вернуться APIs; }}; } Но это не работает. Когда я пытаюсь добавить @Primary к моему бобу приложение не с NullPointerException. В чем проблема? Новый ApiListingBuilder (. context.getDocumentationContext () getApiDescriptionOrdering ()) .apis (Collections.singletonList (новый ApiDescription (NULL, "/ OAuth / GitHub", "Github SSO документы", операции, ложные))) .build ()); вернуться APIs; }}; } Но это не работает. Когда я пытаюсь добавить @Primary к моему бобу приложение не с NullPointerException. В чем проблема? Новый ApiListingBuilder (. context.getDocumentationContext () getApiDescriptionOrdering ()) .apis (Collections.singletonList (новый ApiDescription (NULL, "/ OAuth / GitHub", "Github SSO документы", операции, ложные))) .build ()); вернуться APIs; }}; } Но это не работает. Когда я пытаюсь добавить @Primary к моему бобу приложение не с NullPointerException. В чем проблема? Операции, ложные))) .build ()); вернуться APIs; }}; } Но это не работает. Когда я пытаюсь добавить @Primary к моему бобу приложение не с NullPointerException. В чем проблема? Операции, ложные))) .build ()); вернуться APIs; }}; } Но это не работает. Когда я пытаюсь добавить @Primary к моему бобу приложение не с NullPointerException. В чем проблема?
lapots
2

голосов
0

ответ
44

Просмотры

Swagger / springfox generating response example automatically

В настоящее время с помощью springfox 2.9.2 куражиться документировать API, созданный весной. Я хочу добавить пример ответа в документации, как на этом изображении; я понимаю, что я могу сделать что-то похожее на это: @ApiResponses (значение = {@ApiResponse (код = 200, сообщение = "Успех", примеры = @ io.swagger.annotations.Example (значение = {@ExampleProperty (значение = «{„моментальный снимок“: {„тип“:„ААА“}}», MEDIATYPE = «приложения / JSON»)})) Я положил этот фрагмент кода непосредственно над методом GET в данном случае к сожалению 2 примера выше. всегда показывает: идентификатор ожидается ошибку Но я также вижу, что я могу сделать, это тоже: @ApiResponses (значение = {ApiResponse (код = 200, сообщение = «Успех», ответ = MyModel.class, )}) Кроме того, я вижу, что я могу добавить пример с уровнем @ApiOperation: @ApiOperation (значение = «Создать учетную запись», псевдоним = «Createaccount», отмечает = «Создать учетную запись», ответ = AccountResponse.class, теги = {}) Мои вопросы: Как я могу добавить пример JSON ответ на мой Swagger документации? Было бы идеально, чтобы просто указать Swagger / Springfox к моей модели / боба и он генерирует пример ответа автоматически, и автоматически обновлять с каждым обновлением для боба / модели. Является ли это то, что второй фрагмент кода выше должен делать? Как я могу добавить пример JSON ответ на мой Swagger документации? Было бы идеально, чтобы просто указать Swagger / Springfox к моей модели / боба и он генерирует пример ответа автоматически, и автоматически обновлять с каждым обновлением для боба / модели. Является ли это то, что второй фрагмент кода выше должен делать? Как я могу добавить пример JSON ответ на мой Swagger документации? Было бы идеально, чтобы просто указать Swagger / Springfox к моей модели / боба и он генерирует пример ответа автоматически, и автоматически обновлять с каждым обновлением для боба / модели. Является ли это то, что второй фрагмент кода выше должен делать?
Tlink
3

голосов
0

ответ
136

Просмотры

SpringBoot failed startup of jetty - something to do with springfox?

Я получаю следующее исключение при SpringBoot (версия 1.5.7) запускается. Я ничего не помню меняется, но, очевидно, что-то изменилось, потому что это исключение не произошло раньше. Кто-нибудь видел это? Я видел другие должности, которые имеют больший след стека, который дает более полезную информацию, но я не вижу. Просто это исключение. Похоже, что это указывает на вопрос с файлом банку springfox-чванство-Ui, но я не уверен, куда идти с этим. 2018-02-20 16: 01: 00,367 WARN 9476 --- [главная] org.eclipse.jetty.webapp.WebAppContext: Ошибка запуска контекста osbcejJettyEmbeddedWebAppContext @ 2c2c3947 {/ invmgt / API / v1, [Файл: /// C : /Users/u447/AppData/Local/Temp/jetty-docbase.1736805776280533468.8080/, баночка: файл: / C: /Users/u447/.gradle/caches/modules-2/files-2.1/io.springfox/springfox- чванство-щ / 2.7.
Rick Fishman
3

голосов
0

ответ
167

Просмотры

Swagger shows wrong id field using Spring Data Rest

I'm using Spring Boot + Spring DATA REST and Swagger (Springfox 2.7.0). Spring DATA REST follows HATEOAS principles, so id field should never be present in return resources. In GET methods this works fine but in POST methods the form show an id parameter I don't understand where it comes from. This is the screenshot of the Swagger ui. Like you see, the form contains an id parameter of type path that is not present in the model definition. I'm sure it is not needed, in fact doing a request via Postman, it works without set id param. Also in swagger everything works fine, filling id param with a random value. Is it an incompatibility between Spring DATA REST and Swagger or I should set something more? I followed instructions here:http://springfox.github.io/springfox/docs/current/#support-for-spring-data-rest =================== UPDATE ============================== This issue is resolved in SpringFox version > 2.7.0. Here the link to the bug: https://github.com/springfox/springfox/issues/1839
drenda

Просмотр дополнительных вопросов