create-openapi-repo icon indicating copy to clipboard operation
create-openapi-repo copied to clipboard

How to generate code samples? Where are the plugins

Open ghost opened this issue 8 years ago • 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!

ghost avatar Aug 09 '17 16:08 ghost

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.

RomanHotsiy avatar Aug 09 '17 17:08 RomanHotsiy

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/

ghost avatar Aug 14 '17 13:08 ghost

@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());
        }

ghost avatar Aug 14 '17 13:08 ghost

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

RomanHotsiy avatar Aug 17 '17 07:08 RomanHotsiy

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: https://github.com/Rebilly/generator-openapi-repo/pull/18 but haven't tested it on any third party definitions.

jgabriels avatar Mar 03 '18 17:03 jgabriels