Design and build Web APIs for a broad range of clients―including browsers and mobile devices―that can adapt to change over time. This practical, hands-on guide takes you through the theory and tools you need to build evolvable HTTP services with Microsoft’s ASP.NET Web API framework. In the process, you’ll learn how design and implement a real-world Web API. Ideal for experienced .NET developers, this book’s sections on basic Web API theory and design also apply to developers who work with other development stacks such as Java, Ruby, PHP, and Node.
Very good run through of all the webapi functionalities and even if you have a extensive experience with web api, every chapter brings one or two new things to learn! Definitely recommend it.
This book is divided in two parts. The first part was most interesting to me because it dealt with the REST theory in the pragmatic way. I think it was reduced to the essential principles and practices. The second part more related to asp.net Web APIs is still great for those who start learning the framework but if you already know it you can skim it very fast. In the end it’s a great book.
I think this book starts from the basics. It explains what is the purpose of an API, it explains how should an API be constructed, created and implemented. The book presents the known methods for building a web api. It is explained why apis which communicate through HTTP should be more widely used then the ones based on SOAP or REST or other protocols.
The firs half of the book really explains the details about constructing an api, presenting the possibilities and guidelines, which API developers should keep in mind. After presenting the general guideline, the book explains the structure of the ASP.NET WebApi, what is the execution flow of the API invokes, which class should be inherited when security is the primary concern and how are different filtering layers executed. It is presented how an ASP.NET WebApi application can be hosted inside IIS or ran as a separated process where there is no need for IIS.
There is a good explanation of the HTTP protocol, HTTP headers and the idea behind using HTTP as an overall communication protocol. The final book will contain explanations related to data formatters, the HttpClient implementation inside the .NET Framework and there will be a dedicates section for testing.
Another thing which was really sympathetic for me is the appendix, where the different media types are presented. Inside the book the author(s) put a big accent on standardization of media types and APIs. There are presented a lot of existing media types which are not so well known, but could/should be used when designig an API.
When I read the book it was available as a draft and also being a draft it had great knowledge and stuff in it. I would recommend this book to anyone who knows/plans to write an API which will be used by others and will need constant improvement and feature change.
This book sells itself as a how to / tutorial for Microsoft's latest attempt to rule the Internet, this time their Web API. And it finally gets round to telling you about it on page 250, only what it does is not tell you how it works, so much as give you a patchy run-through of older, failed, Microsoft technologies, then tell you 'but the Web API is different'. UML diagrams and pretty graphics abound, but the important bit - how to write code to respond to requests - seems to be forgotten.
Instead we get pages of sententious lecturing on what web means, what API means, etc. We get huge discussions of how to handle hypermedia, and the need to let Microsoft determine your data format and schema for you. You'd have thought this would be impossible, but the concept of interoperability with products you don't control doesn't enter. Obviously everyone uses Microsoft, right? And the pages of discussion of different encodings seems a bit pointless, now that JSON is the de facto standard.
There's an example problem, though. That must be good right? Well, it shows us how we should connect to databases, how we should organise our data, loads of irrelevant stuff, as most of this isn't under our control, and it has tens of pages of code to test the API. But it doesn't say how to implement it!
In other words: buy it if you want a door-stop or you hate trees. That's all it's fit for.