4 ms·
For the happy path, the Java code works great, but a good open API spec also includes the following: - examples, they are a pain to write in Java annotations.
by avolpe 3y ago
For the happy path, the Java code works great, but a good open API spec also includes the following:
- examples, they are a pain to write in Java annotations.
- multiple responses, ok, invalid id, not found, etc.
- good descriptions, you can write descriptions in annotations (particularly post Java 14) but they are overly verbose.
- validations, you can use bean validation, but if you implement the logic in code it's not easy to add that to the generated spec.
See for example this from springfox https://github.com/springfox/springfox/blob/master/springfox-petstore/src/main/java/springfox/petstore/controller/PetController.java https://github.com/springfox/springfox/blob/master/springfox...
It's overly verbose and the generated open API spec is not very good.
- boredtofears 3y agoyour example doesn't look any worse than an openapi yaml spec given how easy/frequently you can reach 10+ identation levels for a trivial spec. you might be able to add descriptions easily, but expressing types in yaml is much more verbose than in a decently typed language.
- steve_rambo 3y agoYou don't need annotations for descriptions, they get picked up from javadoc-style comments which you should have anyway. Same with asp.net.
- avolpe 3y agoYou are right, for Spring Boot, the relatively new springdoc supports javadoc[1] as descriptions, which is better than the annotation. [1] https://springdoc.org/#javadoc-support https://springdoc.org/#javadoc-support