guardrail-dev / guardrail-dev/guardrail
Scala codegen doesn't work with openapi petstore.yml
- Dominant language
- Scala
- Stars
- 541
- Forks
- 138
- PR merge metrics
- No merged PRs in 30d
Description
Using petstore.yml: https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml and https://github.com/guardrail-dev/guardrail-sample-sbt-http4s
```
/user:
post:
tags:
- user
summary: Create user
description: This can only be done by the logged in user.
operationId: createUser
responses:
default:
description: successful operation
```
works:
```
/user:
post:
tags:
- user
summary: Create user
description: This can only be done by the logged in user.
operationId: createUser
responses:
'200':
description: successful operation
```
```
[IJ]clean; compile
[success] Total time: 1 s, completed May 23, 2023, 4:15:32 PM
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
Error:Unknown HTTP status code: default
[error] (Compile / guardrail) dev.guardrail.sbt.CodegenFailedException
[error] Total time: 0 s, completed May 23, 2023, 4:15:33 PM
```
Then that unlocked a new error:
```
[error] /Users/ericpeters/even/play/guardrail-sample-sbt-http4s/src/main/scala/Server.scala:59:105: value Accepted is not a member of object example.server.store.StoreResource.DeleteOrderResponse
[error] val out = m.get(orderId).fold[StoreResource.DeleteOrderResponse](respond.NotFound)(_ => respond.Accepted)
[error] ^
[error] /Users/ericpeters/even/play/guardrail-sample-sbt-http4s/target/scala-2.13/src_managed/main/example/server/pet/Routes.scala:175:119: not found: value utf8
[error] for (additionalMetadata <- multipart.parts.find(_.name.contains("additionalMetadata")).map(_.body.through(utf8.decode).compile.foldMonoid).sequence; response <- handler.uploadFile(UploadFileResponse)(petId, additionalMetadata, multipart.parts.find(_.name.contains("file")).map(_.body)) flatMap ({
[error] ^
[error] two errors found
```
Contributor guide
Assessment
This issue has not been assessed yet.