2017-05-22 1 views
1

J'essaie modifier le code HTTP en réponse, mais je reçois toujours 200. le code ci-dessous reprend beaucoup avec les deux tests:Symfony JsonResponse ignorant le code HTTP défini et réponses seulement 200

$app->put('/hdc/v1/pagamento/{pagamento_id}', function($pagamento_id, Request $request) use ($app) { 

    $pagamento = Pagamento::find($pagamento_id); 

    return new JsonResponse(["message"=>"error"],400); // returns 200 
} 




$app->put('/hdc/v1/pagamento/{pagamento_id}', function($pagamento_id, Request $request) use ($app) { 

// $pagamento = Pagamento::find($pagamento_id); 

    return new JsonResponse(["message"=>"error"],400); // returns 400 
} 

Interagir avec le modèle, JsonResponse est impacté. Pourquoi?

Postman screenshot

Répondre

0

Awkward!

Mon fichier d'entité Pagamento avait

?> 

dans le fond du dossier. il envoyait 200 en-tête de code lorsque la méthode Pagamento :: find a été appelée.

0

Je pense que vous n'utilisez pas la bonne méthode. Voir le silex doc:

<?php 
$app->put('/hdc/v1/pagamento/{pag_id}', function($pag_id, Request $request) use ($app) { 
return $app->json(array('message' => 'error'), 400); 
}); 
+0

c'était ma première option mais le comportement est le même ... –

+0

J'ai essayé avec cette solution et cela fonctionne. Vous avez une erreur de remplacement avec Silex? –

+0

Il n'y a pas d'erreur, Thomas. En fait, la réponse a 200 code. Mais je veux mettre en place 400 en réponse. –