Comments (3)
Wow, that JSON vulnerability is something intense. I would like to add my 👍 for an outer envelope with a results
attribute. Having worked/built APIs that return results, I usually regret returning just a top-level array because I eventually need to return metadata like the total number of matches or which page these results are from. Having a top-level envelope makes that simple, but it's ugly in an array. I'd like to suggest we also standardize the names for other common top-level attributes we might include so one array doesn't have page
while another has page_num
and another has page_no
(I see a sample JSON with a pagination
record in there, but maybe an explicit table too)
from api-standards.
This could also go in as an augmentation of the Metadata section.
https://github.com/18F/api-standards#metadata
I'm not going to make a PR until we work out in #54 whether this repo will continue to be one page or many...
from api-standards.
Seeing this reminded me that I wanted to talk to folks about community API standards, like JSON API: http://jsonapi.org/. If we're serious about making recommendations for API standards for our projects, we might want to consider adopting a standard that already exists, and has tooling and community support.
from api-standards.
Related Issues (20)
- Hypermedia APIs HOT 4
- Coordinate with 18F team owners HOT 1
- Standard length of time provided for deprecation, changes? HOT 1
- "Don't use unpredictable keys" (in response JSON) HOT 1
- Possibly include link header in pagination section? HOT 3
- Specify date format standard HOT 5
- under_score for JSON keys? HOT 6
- avoid using "entropy"
- for discussion: HTTPS everywhere HOT 1
- expand acceptable input param vehicles to include full URIs
- What data should go in headers, and what data in the response body HOT 14
- Stacktraces in production HOT 1
- New APIs should require SNI of their users
- Request to change description to make it clearer for users HOT 4
- This repo should be converted to 18F Pages HOT 9
- Shouldn't this repo have a LICENSE? HOT 2
- Singluar vs. Plural Nouns HOT 1
- Justify use of charset parameter in JSON payloads HOT 2
- FBOpen links returning a 404 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from api-standards.