openapi-31 0.1.1

OpenAPI v3.1 Specification
Documentation
# Bootstrap
The idea is to use openapi code generator for rust to generate openapi specification library. To do so, I started with an openapi specification with 
```json
{
    "openapi": "3.1.0",
    "info": {
        "version": "3.1.0",
        "title": "openapi"
    },
    "components": {
        "schemas": {}
    }
}
```

## Build OpenAPI In OpenAPI
1. Download json-schema of [OpenAPI v3.1]https://github.com/OAI/OpenAPI-Specification/blob/main/schemas/v3.1/schema.json
2. Copy everything from `schema.$def` into the above OpenAPI json inside `components.schemas`
3. Insert `openapi` definition into `components.schemas`
4. Replace every `#/$defs/` with `#/componenst/schemas`
5. Remove every `"$ref": "#/$defs/specification-extensions"`. We don't need them now.
6. Remove every `oneOf`. We will add them later in the generated code.

See the result file [here](./openapi-in-openapi.json).

## Generate Code

```bash
npx -y @openapitools/openapi-generator-cli generate -i openapi-in-openapi.json -g rust -o /tmp/openapi && mv /tmp/openapi/src/models .
```

## Implement The Remaining Part
Generated code is not complete, and don't generate these structs. We will create them by hand :-) .
```
path-item-or-reference
parameter-or-reference
request-body-or-reference
response-or-reference
callbacks-or-reference
example-or-reference
link-or-reference
header-or-reference
security-scheme-or-reference
```