title: Lumen returns always 200 for Controllers
body: <p>I am trying to do a small rest api which based on Lumen. Everything is ok for this sample:</p>
  
  <p><strong>routes/web.php</strong></p>
  
  <pre><code>$router-&gt;post('foo/', function () {
      return response('[]', 400)
          -&gt;header('Content-Type', 'application/json');
  });
  </code></pre>
  
  <p>postman receives this response:</p>
  
  <p><a href="https://i.stack.imgur.com/bcNro.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bcNro.png" alt="400"></a></p>
  
  <p>400 - bad request. That's ok. But if I try to do the same with a controller php file:</p>
  
  <p><strong>routes/web.php</strong></p>
  
  <pre><code>$router-&gt;post('accounts/', 'AccountController@register');
  </code></pre>
  
  <p><strong>app/Http/Controllers/AccountController.php</strong></p>
  
  <pre><code>namespace App\Http\Controllers;
  
  use Illuminate\Http\Request;
  use Illuminate\Http\Response;
  
  class AccountController extends Controller {
      public function __construct() {}
  
      public function register(Request $request): string {
          return response()-&gt;json(['message' =&gt; 'failed'], 400);
      }
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/23ahc.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/23ahc.png" alt="enter image description here"></a></p>
  
  <p>status code is: 200? But why?
  Headers came in body response...
  Can you advice something to solve this case?</p>