Giter VIP home page Giter VIP logo

learn.openapis.org's People

Contributors

adrianmachado avatar darrelmiller avatar davidleger95 avatar dret avatar dylanpinn avatar handrews avatar jirihofman avatar jneidel avatar karenetheridge avatar lornajane avatar marian-varga avatar meenakshi-dhanani avatar mikeralphson avatar mniinio avatar ncaidin avatar pharaone avatar philsturgeon avatar ralfhandl avatar segfaultxavi avatar sensiblewood avatar webron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

learn.openapis.org's Issues

Add Security section to the site

Referencing #59 and conversation therein...

Add a Section for Security support in OpenAPI, describing:

  • The Security Scheme object and what is supported out-of-the-box.
  • The security property and its application (globally, in a Path Item).
  • Add nice graphvviz diagram showing where Security Scheme and security property live.

Writing style to approximate what's gone before based on mimicry rather than writing guidelines.

cc @lornajane

Rename repo to "learn" or "Learn-OpenAPI"

@MikeRalphson suggested perhaps renaming this repo on Slack yesterday, suggesting "learn" as that is the site name. I'd suggest "Learn-OpenAPI" to make the repo name more distinctive and less likely to collide when someone forks it ("Documentation" is about as generic and collision-likely as they come). "Learn-OpenAPI" also matches the capitalization of "OpenAPI-Specification", "Documentation", etc.

Should we have more schema examples?

I just noted that the 3.0-RC0 specification contains no examples where oneOf or anyOf is used (maybe also not, that is difficult to search).

Should we have some of them, as this is an new important feature?

I'm trying to document an existing API that uses a single path with query parameters to specify the different actions:

I'm trying to document an existing API that uses a single path with query parameters to specify the different actions:

/api?action=action1&some-param=1
/api?action=action2&other-aparam=2

If I would put all parameters under a single path, that would force all parameters under that path, too and would mix a lot of parameters that are only valid on certain actions.

The Swagger editor doesn't let me create multiple entries for the same path, even if the action parameter is required with a different value on each. and doesn't accept /api?action=action1 as a separate path either.

Is the unique path a requirement from Swagger or from the OpenAPI spec ?

Is there a good workaround how to handle this ?

Thanks!

Originally posted by @willamowius in OAI/OpenAPI-Specification#3344

Outstanding items to include

From #1

  • Callbacks and Webhooks [Advanced]: What’s the difference, with examples. #76
  • Schemas [Advanced]: examples for schemas, responses and parameters.
  • Security [Advanced]: securityScheme and security.

Documentation improvements: Tutorials and FAQs

It would be a great addition to the spec to have:

  • Tutorials from beginner to expert level (disclosure: I'm currently writing one)
  • FAQs to find a quick response to a specific use case without having to dig in the spec or do the tutorials ("how do I reuse a definition", "how do I set a response header", ...)
  • Standalone example YAML files (linked to tutorials, FAQs)

Topics to document

Edit: I've changed the purpose of this issue so it is a container for topics that would be nice to have discussed in the docs.

  1. Start Here:
    • Intended Audience: Who should read this guide and why, what page to read depending on your goal.
    • Advantages of using OpenAPI: Summary of benefits obtained by using automated tools.
  2. Introduction: General overview, for context. Skippable.
    • What is an API: APIs in the general case (local and remote), Specification through Documentation, Specification through a Description File (list of benefits), historical examples.
    • What is OpenAPI: Definition, types of APIs it can describe, evolution from Swagger, list of benefits, link to OpenAPI.Tools
  3. The OpenAPI Specification explained: Describe the Specification in a more approachable way, with links to the actual document and constant references to the relevant Best Practices pages. Put advanced topics in this chapter to keep the TOC simple, but tag them clearly.
    • Basic structure: Minimal Hello World API description.
    • Paths Object:
    • Content:
    • Parameters:
    • Components:
    • Servers:
    • Documentation & Examples:
    • Callbacks and Webhooks [Advanced]: What’s the difference, with examples.
    • Schemas [Advanced]: examples for schemas, responses and parameters.
    • Security [Advanced]: securityScheme and security.
  4. Best Practices: Suggestions that greatly simplify working with the spec even though technically they do not belong to it.
    • Keep a single source of truth: Always, no matter your workflow (Design-first, Code-first , ...).
    • How to write the description file: By hand, Editors, Domain-Specific Languages, Code annotations.
    • Do not Repeat Yourself: Reusing descriptions using $ref. Example directory structures.

Some anchor tags are invalid

Some anchor tags don't point to a valid id on the corresponding page like https://spec.openapis.org/oas/v3.1.0#pathsObject. It should be https://spec.openapis.org/oas/v3.1.0#paths-object. Seems like the ids were switched to kebab case but some links with anchor tags were not updated in this repo.

fix: Resize the column from just-the-docs theme

The security page seems to have uncovered a usability issue with the site, namely the centre column is fixed width and therefore makes the security diagram look tiny (even on a huge monitor with maximised window):

image

It'd be good to resize this centre column so as make such diagrams clearerer without having to zoom in.

Links in SVG images do not match intended targets in the OAS page

The SVG images contain links to OpenAPI Specification page, https://spec.openapis.org/oas/v3.1.0 .

image

Though, now the users end up at the top of the OAS page, without navigating to the specific section.

For instance:
At https://learn.openapis.org/specification/paths.html we have an SVG that contains links:

Correct URLs are:

This issue applies to all SVG (and DOT) files in the img directory.

Text in two columns is missing

Some pages contained text in two columns. I think side-by-side comparison of code samples is more readable by far, so I'd like to have this layout back:

In specification-structure.md:

image

In specification-content.md:

image

In specification-docs.md:

image

All reference to this layout has been removed from the source files now so I fear it will be forgotten.

The Home page should be removed

It is based on the README file which was only a placeholder. This page should be removed and the new landing page should be the Getting Started one.

The big logo and the note regarding the site's theme are nice, though, so maybe they can be merged into Getting Started.

Difficult to figure how to contribute to docs

https://oai.github.io/Documentation/start-here.html - I wanted to contribute/raise a PR for an edit on the documentation, but there is no link to a GitHub repository that would lead me here. If we're hoping for individuals to participate and contribute at least to the docs, typos or factual errors even, we could add a link to this GitHub repository.

It was two-step navigation for me personally. Let's make this easier for others?

For instance - there's an Edit button on the top of the page - https://code.visualstudio.com/docs/setup/setup-overview

image

docs state that array and object schemas require "items", "properties" respectively

in https://oai.github.io/Documentation/specification/content.html#the-schema-object --

Array types must have an items field, which is a Schema Object itself, and defines the type for each element of the array...
... Finally, object types must have a properties field listing the properties of the object. This field is a map pairing property names with a Schema Object defining their type.

This isn't stated in the specification (https://spec.openapis.org/oas/v3.1.0#schema-object) nor in the schema itself, so these lines should be removed, or "must" changed to "recommended" or "should".

Are issues/PRs here being reviewed?

I see a few issues/PRs that have been up for months without a response. Just wondering if someone is actively maintaining this site still.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.