You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, deadbox connects frontend and backend using a REST interface. This leads to one REST server and two REST clients (one in JavaScript, the other one in Go used for testing).
Server/client code for REST endpoints is mainly boilerplate and repetitive, making changes and enhancements to the REST interface expensive. To this end, we should apply code generation.
Proposal.go-swagger is a Go implementation of Swagger / OpenAPI, a defacto standard for API documentation. The API can be specified using a YAML file, from which go-swagger can generate code. As the tool supports custom templates, we could even generate the JavaScript client from that.
Alternatives.swagger-codegen is the code generation tool from the Swagger team itself. However, it's written in Java and doesn't lend well to deadbox' toolchain.
Other REST API codegen tools are yet to evaluate.
The text was updated successfully, but these errors were encountered:
Currently, deadbox connects frontend and backend using a REST interface. This leads to one REST server and two REST clients (one in JavaScript, the other one in Go used for testing).
Server/client code for REST endpoints is mainly boilerplate and repetitive, making changes and enhancements to the REST interface expensive. To this end, we should apply code generation.
Proposal. go-swagger is a Go implementation of Swagger / OpenAPI, a defacto standard for API documentation. The API can be specified using a YAML file, from which go-swagger can generate code. As the tool supports custom templates, we could even generate the JavaScript client from that.
Alternatives. swagger-codegen is the code generation tool from the Swagger team itself. However, it's written in Java and doesn't lend well to deadbox' toolchain.
Other REST API codegen tools are yet to evaluate.
The text was updated successfully, but these errors were encountered: