Best Practice in API Design


Comments are closed.

I thought Lorna did an excellent job of giving a range of technical tips in a easy-to-understand and enthusiastic way.

Very well delivered. The passion for the subject is very visible in Lorna's presentation style. Would have loved to see some more about API versioning or response body optimization (fat resources vs links).

Great talk that helps you think about the things you need to consider before and while building an API.

Anonymous at 15:11 on 9 Nov 2013

Good talk, greatly delivered! I would like somewhat more depth, about versioning API's or pitfalls you should look out for.

The concept clarifications was definitely the best thing: I have worked a lot with APIs already but I had never really understood the difference between what a REST vs a RPC service was, I had given up and thought they were just the same.

Having said that, the only thing the talk could improve is how to generate/handle API responses with namespaces and data type definitions.

Great talk. Especially the explanation about the differences between REST and RPC and the importance of using http status codes!

Solid and humorous delivery as well; I couldn't stop myself smiling most of the time.

The talk is maybe a bit too much of a beginners talk, but I think that actually worked well for this audience.
To make it into a bit more of an advanced level I would have loved to hear more about best practice usage of some of the other Accept headers", but I couldn't say what subject to drop.

Liked the talk, clearly explaining that http-headers and -reponse codes are there for a reason. We share the opinion that a lot of APIs don't use them or use them wrong.

You did appear to go in defence mode when questioned about the DELETE call response codes. Always returning 200 might be the best practice, but I thought the others had good arguments as well. You seemed to avoid a discussion on the topic.

As usual you did a great job, I really never understood well the differences between REST and RPC and now I know =) The advices, specially regarding status codes and error responses were very important.

The only thing that I kept wondering about was the DELETE response status, I understand you have your opinion but as Robin Nieuwboer said you seemed to avoid discussion and my feeling was that you were not open to consider the others arguments.

Whatever Lorna talks about suddenly seems so easy to grasp, thanks for yet another clear presented talk. It shows that the slides and everything was very well planned.

This was meant as a more general talk as it is a one track conference, and to go into everything in an advanced way would just mean an API Design talk covering the entire day.

The most important bits and pieces were definitely covered and it shows that Lorna knows a whole LOT on this topic.

I'm so sorry I did such a bad job answering questions :( Even after asking for the person to speak up I think I was answering a different question to the one I was asked! The DELETE verb isn't particularly special so if the user makes an invalid request you should return a 4xx code, if something goes wrong on the server side then send a 5xx code. DELETE is idempotent which means that repeated requests should return the same result, but better people than me have written plenty on this subject - in fact Ross shared a link on twitter about exactly this, which I recommend as a much more eloquent version of what I ought to have been able to express after my talk:

I've attended other talks from Lorna, e.g.: the workshop at DPC12. I've very much enjoyed that workshop just like I enjoyed this talk. Well explained and easy to understand. Keep up the good work Lorna!

Very nice talk with clear warnings

A great talk covering all the basics that someone designing and building an api should consider, many of which people often forget or don't spend the necessary time planning for.

Briefly covering versioning would be nice and that is something that people often struggle with, and there is nothing more annoying than an api that keeps changing and breaking backwards compatibility!

Anonymous at 19:12 on 15 Nov 2013

Good talk, touches a lot points just enough and then moves on. Doesn't go deep into any one area and other reviews have mentioned the question responses, which (in her defense) were to pointed questions on a touchy subject. Solid talk, just felt a little flat, missing something to push it over the edge to great...