GiraffeGenerator
GiraffeGenerator copied to clipboard
Generating Giraffe server from OpenAPI spec
https://github.com/Szer/GiraffeGenerator/blob/2488309ecc9e5a4dbcb6f6a10f15ea2b76fb6eba/src/GiraffeGenerator/Program.fs#L21 second parameter of this tuple is diagnostic array. We should check errors there, display them and return with non zero code from generator
Currently GiraffeGenerator generates an F# source file which refers to TaskBuilder.fs, it would be nice to be able to set a flag to choose [Ply](https://github.com/crowded/ply) instead.
Repro generate api from https://raw.githubusercontent.com/atsapura/swagger-test/master/SwaggerGen/spec.yaml check validate function in generated code, there will a lot of duplications for types
Free form object is valid in OpenAPI order_rows: type: object and we generate invalid F#: [] type order_rows = { } We should generate probably DU like type OrderRows =...
OpenAPI spec allows to define different types for different content types. It would be nice to generate something like that for this case: ``` type SomeMethodBodyInput = | SomeMethodBodyJson of...
OpenAPI spec allows specifying `in: cookie` and `in: header` for parameters. The problem is - there is no built-in facility in giraffe to bind cookies or headers (or at least...
This field is a way to tell what type of content we have. Needed for inheritance?
`anyOf` could be encoded via tupling options ``` yaml paths: /pets: patch: requestBody: content: application/json: schema: anyOf: - $ref: '#/components/schemas/PetByAge' - $ref: '#/components/schemas/PetByType' responses: '200': description: Updated components: schemas: PetByAge:...
`allOf` could be encoded in general case via "tupling" type with each other in new type: ```yaml components: schemas: Pet: type: object required: - pet_type properties: pet_type: type: string discriminator:...