J'ai une classe dans laquelle une méthode est un calcul simple, accepte deux numéros et donner une addition. Je souhaite transmettre les numéros via API dans le format JSON et valider si les entrées sont des chiffres si pas par excéquation.
input
{
num1="",
num2=2
}
output
{
error code:404
message: "number cannot be null"
ststus :"Fail"
}
4 Réponses :
Vous pouvez faire quelque chose comme ceci:
@ExceptionHandler(value= {Exception.class})
public ResponseEntity<ApiResponse> handleAnyException(Exception ex,WebRequest request){
ApiResponse response = new ApiResponse(ex);
return new ResponseEntity<>(response,new HttpHeaders(),HttpStatus.INTERNAL_SERVER_ERROR);
}
Un INT ne sera jamais null, si vous lancez un entier à INT et que l'entier est null, il jette une exception de pointeur nulle dans votre méthode appel :)
La question était de prendre en compte JSON. Je ne trouve pas de réponse à la question de votre code. "Maintenant, je veux transmettre les chiffres via API au format JSON et valider si les entrées sont des chiffres sinon par excéquation."
Bonjour @vusal, j'ai ajouté la solution pour recevoir une demande JSON également. J'espère que maintenant la réponse est plus complète
Vous pouvez le valider dans le contrôleur: il lancera Maintenant, vous devez saisir le Exaption et retourner votre objet p> juste modifier json em> à votre objet et statut em> au statut HTTP. P> p> nullpointexception code> l'entrée n'est pas entier. p>
La question était de prendre en compte JSON. Je ne trouve pas de réponse à la question de votre code. "Maintenant, je veux transmettre les chiffres via API au format JSON et valider si les entrées sont des chiffres sinon par excéquation."
Je l'explique, vous pouvez attraper l'exception et retourner un JSON (objet)
Si vous souhaitez obtenir les paramètres d'entrée de JSON - alors vous devriez probablement (mais ce n'est pas obligatoire, il existe d'autres moyens d'obtenir un JSON à partir d'un client) Obtenez-les du corps des demandes HTTP, mais dans votre code - vous attendez-vous. Paramètres du chemin.
Vous devez créer une classe de modèle, par exemple: p> alors vous pouvez extraire un objet de et votre service ressemblerait à: p> si Le Vous pouvez également appliquer certains Validation des haricots annotations ou créez-les sur mesure - pour Si vous souhaitez obtenir JSON à partir de Sumbodel code>, qui passait comme un corps de demande HTTP à l'aide du code suivant: p> num1 code> ou num2 code> n'étaient pas des numéros - alors le JSONProcessingException code> sera lancé - et vous l'attraperez dans votre exceptionnelArdlerdvice code >. p> SUBSTODEL CODE> Classe. P> @pathvaria Ble code> alors vous devez créer personnalisé dataxier code> pour votre type. p> p>
une manière (non absolue, et elle pourrait différer de l'utilisation du cas d'utilisation) pour le faire est de créer une entité correspondante représentant le corps JSON attendu.
Dans mon exemple, je veux chercher tous les étudiants d'une classe spécifique (la classe littérale) qui restent dans une zone spécifiée. Et ce qui suit serait mon attendu: p> Ceci peut facilement être mappé sur une classe de demande correspondante, qui sera la suivante. p> dans ma classe de contrôleur, j'ajouterais une annotation @valid code> qui assurerait que toutes les entrées sont des types de données spécifiés ou non. p>