[RESOLU] Error on BarkBank HTTP request: 404

Modérateurs : graffiop, jmdouin, agoncal, mlebihan

kagans_a
Messages : 18
Inscription : 20 oct. 2019 23:42

[RESOLU] Error on BarkBank HTTP request: 404

Message par kagans_a » 17 déc. 2019 19:45

Bonjour,

Je comprends bien l'erreur :

HttpNotFoundException: Error on HTTP request: 404 [http://localhost:8081/barkbank/creditca ... 2F23%22%7D]

Mais je ne comprends pas pourquoi....

Dans mon controlleur j'ai une GetRequest qui prend une @PathVariable String param.

Suis-je sur une mauvaise piste?

Par ailleurs, contrairement à la video, mon projet a été importé dans Spring boot sous le nom de TP09BB et non TP_BB.
Est ce que ça change quelques chose?
Si je crée un dossier TP_BB, et je dézippe dedans les SourcesFournis, il me manque les JavaRessources.


Merci d'avance,

Asya Kagansky

graffiop
Messages : 708
Inscription : 21 juin 2005 14:05

Re: Error on HTTP request: 404

Message par graffiop » 17 déc. 2019 20:01

Bonjour,

Euh, avez vous démarré le serveur web de BarkBank comme indiqué sur http://java.cnam.fr/iagl/glg203/tp/TP09_SP/index.html?
Lancer l'application SpringBoot Tp_BBApplication (... et son server Tomcat embarqué) depuis Eclipse ou par gradle bootRun
... pour tester manuellement le service web BarkBank à l'adresse http://localhost:8081/barkbank/
Le nom du projet créé n'est pas un problème à priori (il a été forcé par Eclipse à TP09BB car on a fourni le fichier settings.gradle inutile en l'occurrence).

kagans_a
Messages : 18
Inscription : 20 oct. 2019 23:42

Re: Error on HTTP request: 404

Message par kagans_a » 18 déc. 2019 13:32

Merci.

Oui, je suis bien connecté.

J'ai réussi (?) faire répondre mon controlleur. En revanche je reçoit toujours un status "date invalid". J'ai testé avce des valeurs en dur, idem.
Comment debugger le controlleur pour voir les valeurs que il reçoit? Est ce que le problème c'etst le décodage?

Voici mon controlleur:

@GetMapping(value = "/creditcard")
@ResponseBody
public String verifyCreditCard(@RequestParam(value = "param") String param, HttpServletResponse response) throws JsonParseException, JsonMappingException, IOException {

String data = URLDecoder.decode(param, "UTF-8");
// ...[ Code supprimé]

return VerificationAlgorithm.verify(ccNumber, ccType, ccExpiryYear, ccExpiryMonth);

}

En vous remerciant,
Asya

graffiop
Messages : 708
Inscription : 21 juin 2005 14:05

Re: Error on HTTP request: 404

Message par graffiop » 18 déc. 2019 13:56

Pas sûr que la valeur retournée par votre controller soit récupérée par quelqu'un!

Essayez plus simplement :

Code : Tout sélectionner

	creditCardStatus = VerificationAlgorithm.verify(ccNumber, ccType, ccExpiryYear, ccExpiryMonth);
        final PrintWriter out = response.getWriter();
        out.print(creditCardStatus);
        out.close();
}

kagans_a
Messages : 18
Inscription : 20 oct. 2019 23:42

Re: Error on HTTP request: 404 - Resolu

Message par kagans_a » 18 déc. 2019 15:58

Merci beaucoup, ça marche maintenant!

harrak_z
Messages : 66
Inscription : 19 oct. 2019 20:15

Re: [RESOLU] Error on BarkBank HTTP request: 404

Message par harrak_z » 18 déc. 2019 20:51

Bonsoir
Est ce qu'on a besoin d'envoyer la réponse du web service dans une HttpServletResponse comme dans ce code ?
final PrintWriter out = response.getWriter();
out.print(creditCardStatus);
out.close();
Je ne vois pas l'interet ?
Merci de votre retour

graffiop
Messages : 708
Inscription : 21 juin 2005 14:05

Re: [RESOLU] Error on BarkBank HTTP request: 404

Message par graffiop » 18 déc. 2019 22:11

Le service web http://localhost:8081/barkbank/creditcard doit renvoyer (écrire sur sa sortie standard) un statut de la carte sous forme de chaine de caractère (définie dans l'interface CreditCardStatus).
Le plus simple (si on ne connait pas l'annotation @ResponseBody) est donc d'utiliser un PrintWriter, récupérable à partir de l'instance de HttpServletResponse passée au controller Spring (et aux servlets).

harrak_z
Messages : 66
Inscription : 19 oct. 2019 20:15

Re: [RESOLU] Error on BarkBank HTTP request: 404

Message par harrak_z » 18 déc. 2019 23:31

Ok. Je comprends mieux.
Merci pour votre retour .

Répondre