-
Notifications
You must be signed in to change notification settings - Fork 6
Basic Values
cainus edited this page Feb 25, 2012
·
4 revisions
- Restful
- Resource-Oriented
- hypermedia aware
- Solve everything so that the app developer just inputs schemas/validations, relationships, authorization, and collection querying.
- Version 1.0 is mongo-only, json-only.
- Route-less routing
- No server-side html-rendering
- easily unit-testable
- don't try to abstract HTTP
- dates: http://cbas.pandion.im/2009/10/generating-rfc-3339-timestamps-in.html
- methods that are available
- supported media types
- representation definition
- creation validators
- does a resource encompass its collection?
- awesome collection querying features
- authorization
- accept-language, accept-charset, accept-encoding can be supported?
- POST vs. PUT for create
- result is asynch? (202)
- GET, DELETE, PUT, collectionPOST, collectionGET . All that's necessary? Named like this to be as close to http as possible. capital letters to match http, and so DELETE is allowed as a method name.
- collection and individuals are in the same resource file (rails style) because they share too much code (validations, representations, etc)
- need insert/update validations
- register content-types and corresponding input/output filters
- links as dict with rel as key : {links : { self : {href : asdf.com }}}
- PUT vs. POST for create
- support _method with POST
- before-handlers? (create, update, access, delete, write, read) resource-specific middlewares? the idea is to not even have to use GET, POST, etc methods
- authentication?
- service document
- hypermedia / relationships
- if not PUT/POST and resource doesn't exist, 404
- standard error format
- xml, json standard formats
- etags,
- redirects
- HEAD, OPTIONS
- querystring (if necessary): https://github.com/visionmedia/node-querystring/
- NO resource hierarchy. it's too brittle.
- auth,
- logging
- server health document
- http://wiki.basho.com/images/http-headers-status-v3.png
- http://stateless.co/hal_specification.html
- http://django-tastypie.readthedocs.org/en/latest/tutorial.html