When you think of web APIs, you usually associate the communication model with RESTful requests and responses. This certainly makes sense in many cases!
But what if there are complex queries on the client side that cannot be easily represented using simple “resources”. How do you deal with long-running actions on the server that the client does not want to wait to process? And does it always have to be client-side “pull” or does server-side “push” via WebSocket make more sense in some applications?
Based on selected practical use cases, the session shows how different patterns can be used to sensibly expand the classic RESTful request/response model of your web API, and thus come to significantly more elegant and powerful solutions.