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
APIs and provides hooks for running through other testing frameworks.
67
68
69
+
*[Tavern](https://taverntesting.github.io/) is a pytest plugin for
70
+
automated API testing.
68
71
69
72
70
73
### Hosted API testing services
@@ -91,6 +94,10 @@ equivalent of browser testing in the web application world.
91
94
difficult problems so keep an eye on server utilization and endpoint calls
92
95
growth to separate legitimate from illegitimate traffic.
93
96
97
+
*[API versioning](https://stripe.com/blog/api-versioning) is a wonderful
98
+
article on the tradeoffs between including an API version in the URL
99
+
compared to other common ways to version APIs.
100
+
94
101
*[API Doc JS](http://apidocjs.com/) allows a developer to embed markup
95
102
in their documentation that will generate a site based on the endpoints
96
103
available in the API.
@@ -169,11 +176,9 @@ equivalent of browser testing in the web application world.
169
176
into what makes a good API framework and which one you should currently
170
177
choose for Django.
171
178
172
-
*[Create a REST API in Minutes with Pyramid and Ramses](https://realpython.com/blog/python/create-a-rest-api-in-minutes-with-pyramid-and-ramses/)
173
-
is a thorough tutorial from start to finish that uses the
174
-
[Pyramid](/pyramid.html) web framework along with
175
-
[Ramses](https://pypi.org/project/ramses/), a library that uses
176
-
YAML files to generate a RESTful API.
179
+
*[Creating Web APIs with Python and Flask](https://programminghistorian.org/en/lessons/creating-apis-with-python-and-flask)
180
+
is a free book on building APIs with [Flask](/flask.html) as the
181
+
core [web framework](/web-framework.html).
177
182
178
183
*[RESTful web services with Python](http://www.slideshare.net/Solution4Future/python-restful-webservices-with-python-flask-and-django-solutions)
179
184
is an interesting overview of the Python API frameworks space.
@@ -189,17 +194,30 @@ equivalent of browser testing in the web application world.
189
194
subscribing to updates via a REST interface. Both REST hooks and webhooks
190
195
are far more efficient than polling for updates and notifications.
191
196
197
+
*[Rate limiters](https://stripe.com/blog/rate-limiters) provides a great
198
+
overview of how limiting access in both the number of requests per
199
+
second as well as the number of concurrent open connections can help
200
+
keep your API alive during times of heavy traffic.
201
+
192
202
* Serialization is common for transforming objects into web API JSON
193
203
results. One company found the serialization performance of Django REST
194
204
framework was lacking so they created
195
205
[Serpy](https://github.com/clarkduvall/serpy) and
196
206
[wrote a blog post with the results of its performance](https://engineering.betterworks.com/2015/09/04/ditching-django-rest-framework-serializers-for-serpy/).
197
207
208
+
*[Designing a Web API](http://restlet.com/company/blog/2015/03/16/api-design-designing-a-web-api/)
209
+
gives a detailed walkthrough of concepts and design decisions you need
210
+
to make when building an API.
211
+
198
212
* Microsoft's
199
213
[REST API Guidelines](https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md)
200
214
are a detailed set of considerations for when you are building your own
201
215
APIs that you want to be easily-consumable by other developers.
202
216
217
+
*[Designing Good Static REST API Documentation](https://www.moesif.com/blog/technical/documentation/Designing-Good-Static-REST-API-Documentation/)
218
+
is about documentation not APIs themselves, but it covers a critical topic
219
+
if you want your API to succeed: how to use the damn thing.
220
+
203
221
*[Building better API docs](https://engineering.gosquared.com/building-better-api-docs)
204
222
shows how Square used Swagger with React to create more helpful docs.
0 commit comments