Redocly/create-openapi-repo

How to generate code samples? Where are the plugins

Opened this issue · 5 comments

I am trying to generate code samples and I am getting the following message:

Adding code samples to spec
Running plugins
Plugins folder not found. Skip.

Would be great if someone could explain where to find the plugins and how to add them?

Thanks!

Hey @DataTigerGitHub,
There is no feature to automatically generate code samples right now.
Adding code samples to spec steps adds samples from spec/code_samples folder in your repo.
Just add them according to the README file in this folder.

Use sample repo for the reference.

As for Running plugins message, it is not related to code samples thing and it's ok.

Thanks @RomanGotsiy

If someone else is looking, I am making good progress with https://github.com/ErikWittern/swagger-snippet for the snippet generation. Manual generation works will out of postman http://blog.getpostman.com/2015/08/31/writing-front-end-api-code-with-postman/

@RomanGotsiy

One more question which should solve my issue. I have now generated most of my code snippets. But how do I reference them properly. I looked at the sample repo, but can't figure it out as they are ordered by post and get and not by the method name.

When I look at the sample files, I can only find examples which have the code inside the yaml, like the following. An example which reads the snippets from the files would be great.

Thanks!

 x-code-samples:
    - lang: 'C#'
      source: |
        PetStore.v1.Pet pet = new PetStore.v1.Pet();
        pet.setApiKey("your api key");
        pet.petType = PetStore.v1.Pet.TYPE_DOG;
        pet.name = "Rex";
        // set other fields
        PetStoreResponse response = pet.create();
        if (response.statusCode == HttpStatusCode.Created)
        {
          // Successfully created
        }
        else
        {
          // Something wrong -- check response for errors
          Console.WriteLine(response.getRawResponse());
        }

IF you use generator-openapi-repo then you just have to put your snippets into correct folders:
<lang>/<path>/<HTTP verb>.<extension> where <path> is the method path.

To bundle your snippets into single spec just run: npm run build and you will get your bundled file in web_deploy/swagger.json

I have a fully working code generator:
https://github.com/Direct-Freight/df-api-docs/blob/master/scripts/generate-code-samples.js
It's called during the build:
https://github.com/Direct-Freight/df-api-docs/blob/master/scripts/build.js
You can see what the final results looks like here:
http://apidocs.directfreight.com/#tag/boards
I created a pull request here: #18
but haven't tested it on any third party definitions.