https://github.com/danvk/crosswalk-demo
Demo of typed-router
https://github.com/danvk/crosswalk-demo
Last synced: over 1 year ago
JSON representation
Demo of typed-router
- Host: GitHub
- URL: https://github.com/danvk/crosswalk-demo
- Owner: danvk
- Created: 2020-11-17T21:10:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-20T00:18:57.000Z (over 5 years ago)
- Last Synced: 2025-03-24T06:51:30.103Z (over 1 year ago)
- Language: TypeScript
- Size: 25.4 KB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Crosswalk Demo App
Demo of [crosswalk][1], a safe router for Express and TypeScript.
Quickstart:
yarn
yarn start
Then visit to explore the API or try it on the
command line (here using [httpie][]):
$ http :4567/movies/123/actors/han
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 65
Content-Type: application/json; charset=utf-8
Date: Thu, 19 Nov 2020 16:44:18 GMT
ETag: W/"41-27LESK4eOxlXCMeD4wL3U9YXzFk"
X-Powered-By: Express
{
"dateOfBirthISO": "1942-07-13",
"id": "han",
"name": "Harrison Ford"
}
Here's an example of the friendly request validation errors from [ajv][]:
$ http POST :4567/movies title='Star Wars V'
HTTP/1.1 400 Bad Request
Connection: keep-alive
Content-Length: 889
Content-Type: application/json; charset=utf-8
Date: Thu, 19 Nov 2020 16:44:58 GMT
ETag: W/"379-u6+f/W35+QCSArGJiO652ts109g"
X-Powered-By: Express
{
"error": "data should have required property 'castActorIds',
data should have required property 'plotSummary',
data should have required property 'revenueUsd',
data should have required property 'year'",
...
}
[1]: https://github.com/danvk/crosswalk
[httpie]: https://httpie.io/
[ajv]: https://ajv.js.org/