title: Api gateway implementation
body: <p>What's the way to expose microservices endpoints from API gateway? does API gateway have a knowledge about the services domain objects?</p>
  
  <p>Say, i have <code>order</code> service exposing <code>/api/order</code>, <code>/api/order/{orderId}</code>, etc. with domain object <code>Order</code>. The api gateway define <code>OrderController</code> (with example action below) which routes request to <code>order</code> service, </p>
  
  <pre><code>1. IActionResult Post([FromBody]object obj) { }
  2. IActionResult Post([FromBody]Order order) { }
  </code></pre>
  
  <p>#2 has to know about <code>Order</code> object, whereas #1 doesn't. #2 simplify api documentation (i.e <code>swagger</code>), but couple the gateway with the service models.</p>
  
  <p>what's the best way to go about exposing the services endpoints?</p>