title: Http status code when data not found in Database
body: <p>I'm trying to understand which Http Status Code to use in the following use case</p>
  <ol>
  <li>The user tries to do a <code>GET</code> on an endpoint with an input <code>ID</code>.</li>
  <li>The requested data is not available in the database.</li>
  </ol>
  <p>Should the service send back:</p>
  <ol>
  <li><code>404 - Not Found</code><br />
  As the data is NOT FOUND in the database</li>
  <li><code>400 - Bad Request</code><br />
  As the data in the input request is not valid or present in the db</li>
  <li><code>200 - OK</code> with <code>null</code> response</li>
  <li><code>200 - OK</code> with an error message<br />
  In this case we can use a standard error message, with a contract that spans across all the <code>200 OK</code> responses (like below).</li>
  </ol>
  <pre class="lang-json prettyprint-override"><code> BaseResponse {
    Errors [{
      Message: &quot;Data Not Found&quot;
    }],
    Response: null
   }
  </code></pre>
  <p>Which is the right (or standard) approach to follow?</p>
  <p>Thanks in advance.</p>