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
in this case method and path are HTTP specific (or we could call it also REST specific) bindings. We could envision a future with TypeAPI where we not only describe REST APIs but also i.e. GraphQL endpoints while still generating the same client SDKs but providing a way to exchange the underlying transport technology. To enable this we would need to abstract those bindings, the example above could be written i.e.
with this idea we could also imagine many different bindings like RPC (GRPC/Thrift/JsonRPC) or maybe also MessageQueue systems or maybe also plain SQL. Through this we could achieve some sort of technology independency this means we could change the underlying technology and the SDK user still uses the same API. While this sounds pretty ambitious it could be a real game changer for clients consuming a specific backend, since then you dont need to rewrite you client in case your backend technology changes.
We still need to think about some topics i.e. like authentication. Currently a user simply provides a specific authorization type regarding REST i.e. Bearer Token or Basic Auth, for GraphQL this still might work but for other bindings like GRPC or a message queue system it would be problematic. Also would it be possible to generate a client where each operation uses a different binding, in this case the client SDK needs the fitting authorization for every binding.
The text was updated successfully, but these errors were encountered:
Currently TypeAPI is used to describe REST APIs for example:
in this case
method
andpath
are HTTP specific (or we could call it also REST specific) bindings. We could envision a future with TypeAPI where we not only describe REST APIs but also i.e. GraphQL endpoints while still generating the same client SDKs but providing a way to exchange the underlying transport technology. To enable this we would need to abstract those bindings, the example above could be written i.e.A GraphQL version could be written as:
with this idea we could also imagine many different bindings like RPC (GRPC/Thrift/JsonRPC) or maybe also MessageQueue systems or maybe also plain SQL. Through this we could achieve some sort of technology independency this means we could change the underlying technology and the SDK user still uses the same API. While this sounds pretty ambitious it could be a real game changer for clients consuming a specific backend, since then you dont need to rewrite you client in case your backend technology changes.
We still need to think about some topics i.e. like authentication. Currently a user simply provides a specific authorization type regarding REST i.e. Bearer Token or Basic Auth, for GraphQL this still might work but for other bindings like GRPC or a message queue system it would be problematic. Also would it be possible to generate a client where each operation uses a different binding, in this case the client SDK needs the fitting authorization for every binding.
The text was updated successfully, but these errors were encountered: