guardrail-dev / guardrail-dev/guardrail

Scala codegen doesn't work with openapi petstore.yml

Open
#1,740 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.