phenoscape / phenoscape-kb-services

Web services application for the Phenoscape RDF knowledgebase.
https://kb.phenoscape.org/apidocs/#/
MIT License
1 stars 3 forks source link

Consider standalone API definition library #53

Open balhoff opened 6 years ago

balhoff commented 6 years ago

Endpoints may allow sharing of REST API and case class data model code across server and Scala.js client: https://github.com/julienrf/endpoints/

Can also generate OpenAPI docs.

balhoff commented 4 years ago

Currently I think Tapir might be the way to go for this: https://tapir.softwaremill.com/en/latest/

This might help us make Main.scala a little more manageable. Also while Tapir plugs into akka-http (which we're using now), it also plugs into http4s. So if we want to move to http4s at any point, that would not be too much work after adopting Tapir.

By using Tapir we could move generation of OpenAPI docs into the code, which would be ideal.