joi-router
Configurable, input and output validated routing for koa
...This object is not the exact same route definition object that was passed into koa-joi-router, nor is it used internally - any changes made to this object will not have an effect on your running application but is available to meet your introspection needs. Validating the output body and/or headers your service generates on a per-status-code basis is supported. This comes in handy when contracts between your API and client are strict e.g. any change in response schema could break your downstream clients. In a very active codebase, this feature buys you stability. If the output is invalid, an HTTP status 500 will be used.