News for hackers. Stuff that matters.
Re: by avolpe on Monday March 25, 2024 @08:29PM (#39822954)
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...

It's overly verbose and the generated open API spec is not very good.

Re: by boredtofears on Monday March 25, 2024 @09:22PM (#39823334)
your 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.

Re: by steve_rambo on Tuesday March 26, 2024 @04:27AM (#39825359)
You don't need annotations for descriptions, they get picked up from javadoc-style comments which you should have anyway. Same with asp.net.
Re: by avolpe on Tuesday March 26, 2024 @09:03AM (#39827303)
You 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