A plugin to help you easily edit Swagger and OpenAPI specification files inside IntelliJ IDEA

Overview

Build Status Coverage Status Join the chat at https://gitter.im/zalando/intellij-swagger

Swagger Plugin

Swagger Plugin makes it easy to edit Swagger and OpenAPI specification files inside IntelliJ IDEA. You can find it on JetBrains' plugin page.

Swagger Plugin features

Usage

Open a Swagger or OpenAPI specification file, that's it.

Custom Extensions

You can extend the auto completion in order to provide custom keys and and values. The plugin provides the following extension points for this:

<extensionPoints>
    <extensionPoint qualifiedName="org.zalando.intellij.swagger.customFieldFactory" interface="org.zalando.intellij.swagger.extensions.completion.swagger.SwaggerCustomFieldCompletionFactory"/>
    <extensionPoint qualifiedName="org.zalando.intellij.swagger.customValueFactory" interface="org.zalando.intellij.swagger.extensions.completion.swagger.SwaggerCustomValueCompletionFactory"/>
</extensionPoints>

See the Zalando extension example for details.

Development

Developing the Swagger Plugin is easy, just execute the following command:

./gradlew runIde

This will start IntelliJ IDEA with the plugin installed.

How to Contribute

To contribute, please fork and create a pull request.

Bug Fixes

If you find a bug, it would be awesome if you created an issue about it. Please include a clear description of the problem so that we can fix it!

Contact:

[email protected]

License

The MIT License (MIT) Copyright © 2017 Zalando SE, https://tech.zalando.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • Permanent 100% CPU utilization through the swagger plugin.

    Permanent 100% CPU utilization through the swagger plugin.

    The CPU utilization by swagger is permanently at 100%, more precisely at the plugin itself 25% -30% and, hanging together, also the JIT compiler at 60% +.

    This is very bad for a laptop, you can watch the battery while unloading.

    opened by axute 16
  • Compatibility with IntelliJ EAP 2021.1

    Compatibility with IntelliJ EAP 2021.1

    Opening any swagger description file results in

    com.intellij.diagnostic.PluginException: Cannot create class org.zalando.intellij.swagger.inspection.reference.JsonReferenceInspection (classloader=PluginClassLoader(plugin=PluginDescriptor(name=Swagger, id=org.zalando.intellij.swagger, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\IntelliJIdea2021.1\plugins\intellij-swagger, version=1.0.28, package=null), packagePrefix=null, instanceId=191, state=active))
    	at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:763)
    	at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:781)
    	at com.intellij.serviceContainer.LazyExtensionInstance.createInstance(LazyExtensionInstance.java:54)
    	at com.intellij.openapi.extensions.CustomLoadingExtensionPointBean.createInstance(CustomLoadingExtensionPointBean.java:29)
    	at com.intellij.codeInspection.InspectionEP.instantiateTool(InspectionEP.java:206)
    	at com.intellij.codeInspection.ex.InspectionToolWrapper.getTool(InspectionToolWrapper.java:80)
    	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.getInspectionTools(LocalInspectionsPass.java:769)
    	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:115)
    	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84)
    	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:56)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:400)
    	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1114)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:393)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:660)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:612)
    	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:392)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:368)
    	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
    	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:181)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:366)
    	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:188)
    	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
    Caused by: java.lang.NoSuchMethodException: org.zalando.intellij.swagger.inspection.reference.JsonReferenceInspection.<init>()
    	at java.base/java.lang.Class.getConstructor0(Class.java:3349)
    	at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2553)
    	at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:720)
    	... 26 more```
    opened by Lauri-Nomme 15
  • YAML merge keys are identified as as Invalid Key errors

    YAML merge keys are identified as as Invalid Key errors

    When using YAML merge keys to merge in aliases, the merge keys are identified as errors 'Invalid key'

    Example YAML

    responses:
      <<: *default_response
      201:
        description: Created
        schema:
          $ref: '#/definitions/ProductVariation'
    
    bug help wanted 
    opened by jamiethompson 12
  • Swagger UI preview does not work under windows

    Swagger UI preview does not work under windows

    Tested on Windows 10 with WebStorm and Rider. The Swagger UI only shows a white canvas. The context menu has only one entry: Reload page. But that leaves you with the same white canvas.

    opened by hilmarv 11
  • Autocomplete/$refs doesn't work for yaml splitted into files

    Autocomplete/$refs doesn't work for yaml splitted into files

    Hi,

    I want to organize the API docs into several files, because it's easier to manage them.

    I have main file swagger.yaml. Then I want to separate routes and models into different files.

    Let's start with models. If I do a simple ref:

    components:
      schemas:
        User:
          $ref:"user.yaml"
    

    And create user.yaml like this:

    type:object
    properties:
       ...
    

    Then autocompletion doesn't work. Because it's missing openapi:3.0 header. And there is no way to set this file to understand that I use openapi object. So I need to write such code:

    openapi:3.0
    components:
      schemas:
        User:
           type:object
           properties:
               ....
    

    And in this case autocompletion inside swagger.yaml and ref are not working, because I use such syntax:

    $ref: 'user.yaml#/components/schemas/User'
    

    (It doesn't suggest me the structure from other file and ctrl+click/cmd+click doesn't goes to a registered schema)

    opened by aprokopenko 10
  • Add ability to validate swagger file

    Add ability to validate swagger file

    When I paste the content of my swagger file to http://editor.swagger.io/ it reports a lot of errors(bad indentation, semantic errors, schema errors), while plugin itself doesn't report anything.

    This is the request to add the ability to provide the same level of validation in the plugin. To achieve this we can go following ways:

    1. Implement validations in plugin
    2. Use the http://editor.swagger.io/ api to validate and show erors reported.
    3. Add a shortcut which will open http://editor.swagger.io/ with the content of current swagger file already pasted.
    opened by xp-vit 10
  • Deprecation exception `AnnotationBuilder#createAnnotation`

    Deprecation exception `AnnotationBuilder#createAnnotation`

    Intellij IDEA: 2021.3.1 Swagger plugin: 1.1.2

    Exception:

    java.lang.Throwable: 'AnnotationBuilder#createAnnotation' is deprecated and going to be removed soon. Use `#create()` instead
    	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:182)
    	at com.intellij.diagnostic.PluginException.reportDeprecatedUsage(PluginException.java:105)
    	at com.intellij.codeInsight.daemon.impl.B.createAnnotation(B.java:351)
    	at org.zalando.intellij.swagger.annotator.openapi.UnusedRefAnnotator.warn(UnusedRefAnnotator.java:80)
    	at org.zalando.intellij.swagger.annotator.openapi.UnusedRefAnnotator.lambda$annotate$0(UnusedRefAnnotator.java:49)
    	at java.base/java.util.Optional.ifPresent(Optional.java:183)
    	at org.zalando.intellij.swagger.annotator.openapi.UnusedRefAnnotator.lambda$annotate$1(UnusedRefAnnotator.java:43)
    	at java.base/java.util.Optional.ifPresent(Optional.java:183)
    	at org.zalando.intellij.swagger.annotator.openapi.UnusedRefAnnotator.annotate(UnusedRefAnnotator.java:38)
    	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.runAnnotators(DefaultHighlightVisitor.java:131)
    	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:108)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.runVisitors(GeneralHighlightingPass.java:344)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$collectHighlights$7(GeneralHighlightingPass.java:277)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:303)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$8(GeneralHighlightingPass.java:306)
    	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:93)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:306)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:274)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:219)
    	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84)
    	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:56)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:414)
    	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1084)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:407)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:624)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:698)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:646)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:623)
    	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:406)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:382)
    	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:174)
    	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:181)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:380)
    	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:184)
    	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
    
    opened by gindex 8
  • Plug-in not loading in IntelliJ CE 2020.3 for MacOS

    Plug-in not loading in IntelliJ CE 2020.3 for MacOS

    Hi There.

    I recently upgraded my Mac and installed the latest version of IntelliJ. When I load the Swagger extension it loads, but after the IDE restarts it says 'Requires plugin 'org.zalando.intellij.swagger' to be installed.

    Here is the information from the 'about IntelliJ' panel IntelliJ IDEA 2020.3.2 (Community Edition) Build #IC-203.7148.57, built on January 25, 2021 Runtime version: 11.0.9.1+11-b1145.77 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 10.15.7 GC: ParNew, ConcurrentMarkSweep Memory: 1979M Cores: 12 Non-Bundled Plugins: IdeaVIM, AWSCloudFormation, aws.toolkit, com.amazon.ijbp

    opened by Cactuspat2 8
  • Support completion from workspace files

    Support completion from workspace files

    This will show definition in other workspace files in ref completions for definitions. Basically this add the definition in other files in the workspace to the end of the completion list.

    opened by gayanper 8
  • Issue on caching with Swagger UI

    Issue on caching with Swagger UI

    I worked on a yaml file, I used the icon to see the rendring on the browser, but I'm not getting the file I'm working on but the one i worked on before, I think it need a way to refresh the content of the file generated for the browser rendring.

    Regards.

    opened by chmika 8
  • NPE in YamlTraversal

    NPE in YamlTraversal

    In file: LightVirtualFile: /apiv3-swagger.yaml
    java.lang.NullPointerException
    	at java.util.Objects.requireNonNull(Objects.java:203)
    	at java.util.Optional.<init>(Optional.java:96)
    	at java.util.Optional.of(Optional.java:108)
    	at org.zalando.intellij.swagger.traversal.YamlTraversal.getKeyNameIfKey(YamlTraversal.java:37)
    	at org.zalando.intellij.swagger.validator.field.FieldsValidator.validate(FieldsValidator.java:25)
    	at org.zalando.intellij.swagger.annotator.YamlValidKeyAnnotator.annotate(YamlValidKeyAnnotator.java:26)
    	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.a(DefaultHighlightVisitor.java:139)
    	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:102)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:363)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:303)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:322)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:325)
    	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:86)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:325)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:297)
    	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:237)
    	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:82)
    	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:433)
    	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1054)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:426)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:568)
    	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:519)
    	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:425)
    	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:405)
    	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:155)
    	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
    
    PyCharm 2016.3 EAP
    Build #PY-163.7743.16, built on November 8, 2016
    PyCharm EAP User
    Expiration date: December 8, 2016
    JRE: 1.8.0_112-release-408-b2 x86_64
    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
    

    File causing the NPE:

    https://github.com/bdaroz/the-blue-alliance/blob/18b6eec78fa3b45e14590ab7f9e37e944d7f25c2/static/apiv3-swagger.yaml

    bug 
    opened by bdaroz 8
  • Using the preview blocks the editor

    Using the preview blocks the editor

    Using this plugin, when I click on any item in the Preview of the documentation (open / close a route definition, a schema, …), then I can't write anymore in the editor, can't use any shortcut anymore. Only the mouse is available. To be able to use my keyboard again, I need to move from the "Editor and Preview" view to the "Editor" view and it works until I click in the "Preview" view again.

    Is it something you already noticed please? Do you need any other information?

    Here are the information about my environment:

    PhpStorm 2022.3 EAP
    Build #PS-223.7255.80, built on October 26, 2022
    […]
    Runtime version: 17.0.4.1+1-b653.1 amd64
    VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
    Linux 5.15.0-50-generic
    GC: G1 Young Generation, G1 Old Generation
    Memory: 1262M
    Cores: 6
    Registry:
        debugger.new.tool.window.layout=true
        run.processes.with.pty=TRUE
        ide.experimental.ui=true
    
    Non-Bundled Plugins:
        nb-mind-map-idea (1.5.2)
        com.jetbrains.annotations.preloader (1.0.4)
        com.intellij.ideolog (203.0.30.0)
        com.intellij.properties (223.7255.15)
        String Manipulation (9.6.1)
        org.plugin.dot.id (1.4.1)
        org.zalando.intellij.swagger (1.1.2)
        Key Promoter X (2022.3)
        net.seesharpsoft.intellij.plugins.csv (2.21.0)
        PlantUML integration (5.19)
        com.kalessil.phpStorm.phpInspectionsEA (4.0.7.1)
        ru.adelf.idea.dotenv (2022.3)
        de.espend.idea.php.annotation (8.2.3)
        fr.adrienbrault.idea.symfony2plugin (2022.1.235)
    
    Current Desktop: ubuntu:GNOME
    

    Thank you.

    opened by Tithugues 0
  • Could not generate Swagger UI: java.lang.NullPointerException

    Could not generate Swagger UI: java.lang.NullPointerException

    Go Lang 2020.1.2 Swagger plugin 1.1.1

    when trying to edit a file I get the following error:

    "Could not generate Swagger UI: java.lang.NullPointerException: resource"

    opened by ezplanet 1
  • Usage of deprecated jetbrains Api

    Usage of deprecated jetbrains Api

    Current stable build (1.1.1) of intellij-swagger has some deprecated usage as specified by the jetbrains report, this needs to be resolved to keep the plug-in up to date.

    
    Deprecated methods usages (5)
    AnnotationHolder.createWeakWarningAnnotation(...) (2)
    Deprecated method AnnotationHolder.createWeakWarningAnnotation(...) is invoked in UnusedRefAnnotator.warn(...)
    Deprecated method AnnotationHolder.createWeakWarningAnnotation(...) is invoked in UnusedRefAnnotator.warn(...)
    ResourceUtil.getResource(Class, String, String) (2)
    Deprecated method ResourceUtil.getResource(Class, String, String) is invoked in YamlSchemaInspection.createVisitor(...)
    Deprecated method ResourceUtil.getResource(Class, String, String) is invoked in JsonSchemaInspection.createVisitor(...)
    IconLoader.getIcon(String) (1)
    Deprecated method IconLoader.getIcon(String) is invoked in Icons.<clinit>()
    Deprecated classes usages (4)
    HashSet (4)
    Deprecated class HashSet is referenced in SpecIndexer.getReferencedFilesYaml(...)
    Deprecated class HashSet is referenced in SpecIndexer.getReferencedFilesJson(...)
    Deprecated class HashSet is referenced in OpenApiFileIndex$1.read(DataInput)
    Deprecated class HashSet is referenced in SwaggerFileIndex$1.read(DataInput)```
    opened by sambaranhazra 0
  • YAML Scalars in descriptions prevented Swagger UI rendering

    YAML Scalars in descriptions prevented Swagger UI rendering

    If you use YAML scalars like this in your Open API 3:

    description: | This is a description

    or

    description: > This is a description

    or

    description: >- This is a description

    the Swagger UI in IntellJ can not render anymore.

    opened by pulsone 0
  • Property

    Property "description" not allowed (when it is $ref sibling)

    (thanks for very useful plugin!!) version: 1.0.28

    Input:

              "policyRuleSpec": {
                "$ref": "#/components/schemas/PolicyRuleSpecRef",
                "description": "some text"
              },
    

    Intellij underlines description line red, suggests to remove it, and claims that

    Property "description" not allowed.

    I'm not sure who and how validates the document, status line has it "No JSON schema".

    According to https://swagger.io/docs/specification/using-ref/

    All siblings of $ref must be ignored.

    Is this message "not allowed" related to Swagger plugin?

    opened by neopaf 0
Releases(1.0.27)
Owner
Zalando SE
The org page for Zalando, Europe's leading online fashion platform. Visit opensource.zalando.com for project stats.
Zalando SE
This is a Maven plugin designed to help developers automatizing the creation of code classes from YML files based on AsyncApi and OpenAPI.

SCS MultiApi Maven Plugin This is a Maven plugin designed to help developers automatizing the creation of code classes from YML files based on AsyncAp

Corunet 0 Dec 20, 2022
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

OpenAPI Generator Master (5.4.x): 6.0.x (6.0.x): ⭐ ⭐ ⭐ If you would like to contribute, please refer to guidelines and a list of open tasks. ⭐ ⭐ ⭐ ‼️

OpenAPI Tools 14.8k Dec 30, 2022
OpenAPI JSON Schema Generator allows auto-generation of API client libraries with a focus on JSON schema given an OpenAPI Spec

OpenAPI JSON Schema Generator IMPORTANT: before the first release, one will need to build the project locally to use the enhancements, bug fixes in th

OpenAPI Tools 5 Dec 31, 2022
Library that makes it possible to read, edit and write CSV files

AdaptiveTableLayout Welcome the new CSV Library AdaptiveTableLayout for Android by Cleveroad Pay your attention to our new library that makes it possi

Cleveroad 1.9k Jan 6, 2023
Tuya 37 Dec 26, 2022
Facsimile - Copy Your Most Used Text to Clipboard Easily with Facsimile!. It Helps You to Store You Most Used Text as a Key, Value Pair and Copy it to Clipboard with a Shortcut.

Facsimile An exact copy of Your Information ! Report Bug · Request Feature Table of Contents About The Project Built With Getting Started Installation

Sri lakshmi kanthan P 1 Sep 12, 2022
✨LiteFlowX is an idea plugin to increase productivity when using the LiteFlow framework.

LiteFlowX English | 简体中文 LiteFlowX is designed to increase productivity when you use the LiteFlow framework. ?? LiteFlowX Features: Support for LiteFl

码农小易 13 Dec 15, 2022
:herb: 基于springboot的快速学习示例,整合自己遇到的开源框架,如:rabbitmq(延迟队列)、Kafka、jpa、redies、oauth2、swagger、jsp、docker、spring-batch、异常处理、日志输出、多模块开发、多环境打包、缓存cache、爬虫、jwt、GraphQL、dubbo、zookeeper和Async等等:pushpin:

欢迎大家留言和PR~ Tip: 技术更新换代太快,本仓库仅做参考,自己的项目具体使用哪个版本还需谨慎思考~(不推荐使用最新的版本,推荐使用(最新-1|2)的版本,会比较稳定) spring-boot-quick 前言   自己很早就想搞一个总的仓库就是将自己平时遇到的和学习到的东西整合在一起,方便后

wangxc 2.1k Jan 2, 2023
Program that allows employees to clock in and clock out of work. Employees who are managers can add, edit and delete employees and shifts from the database.

Clock-In-Clock-Out-System Created by: Kennedy Janto, Taylor Vandenberg, Duc Nguyen, Alex Gomez, Janista Gitbumrungsin This is a semester long project

null 6 Nov 5, 2022
We have created a techblog website where a user can post technical posts and edit and update the post accordingly.

TechBlog Introduction - In this project we have created a technical blog website where we have provided functionalities such as 1) SignUp 2) Login 3)

Riya Vijay Vishwakarma 2 Jan 23, 2022
An intelliJ plugin providing a UI layer for git-flow, which in itself is a collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model.

Git Flow Integration Plus for Intellij An intelliJ plugin providing a UI layer for git-flow, which in itself is a collection of Git extensions to prov

RubinCarter 35 Nov 8, 2022
A list of direct references to classes and interfaces in the Java Language Specification (3d Ed.)

A list of direct references to classes and interfaces in the Java Language Specification (3d Ed.) and a program to compute the indirectly required classes and interfaces

Joshua Bloch 12 Jun 3, 2022
Community extension to generate a Java client from the provided Camunda 7 OpenAPI descitpion and also warp it into Spring Boot

Camunda Engine OpenAPI REST Client Java and Spring Boot This community extension is a convenience wrapper around the generated Java client from the Ca

Camunda Community Hub 29 Dec 28, 2022
Cloud Runtimes Specification for the JVM

cloud-runtimes-jvm Cloud Runtimes Specification for the JVM. Introduction Standard API for dapr / layotto / capa / .... Motivation [Discussion] Future

Reactive Group 6 Jul 28, 2022
Reactive Streams Specification for the JVM

Reactive Streams The purpose of Reactive Streams is to provide a standard for asynchronous stream processing with non-blocking backpressure. The lates

null 4.5k Dec 30, 2022
Spawn in the nether with a set of items. Made by logwet, designed by k4yfour, idea by Fyroah.

Noverworld Noverworld About Creating your own custom inventory Support FAQ About When you create a new world, you will spawn in the nether at a portal

null 13 Nov 24, 2022
OpenApi Generator - REST Client Generator

Quarkus - Openapi Generator Welcome to Quarkiverse! Congratulations and thank you for creating a new Quarkus extension project in Quarkiverse! Feel fr

Quarkiverse Hub 46 Jan 3, 2023
With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any other file server

React Native In-App update With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any o

Nepein Andrey 7 Dec 21, 2022
QuickShop is a shop plugin that allows players to easily sell/buy any items from a chest without any commands.

QuickShop is a shop plugin that allows players to easily sell/buy any items from a chest without any commands. In fact, none of the commands that QuickShop provides are ever needed by a player.

Ghost_chu 24 Dec 30, 2022