Arborescence des pages

Vous regardez une version antérieure (v. /wiki/display/ESUPNFC/Implementation+du+webService+AppliExtRestWs) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 7) afficher la version suivante »

L'implémentation AppliExtRestWs de AppliExtApi correspond à un client Web Service REST envoyant des requêtes de badgeage à un Web Service REST.

Pour intégrer le badgeage de cartes dans une de vos applications (application de ), vous devez donc proposer l'implémentation de ce Web Service.

Cette implémentation peut se faire dans le langage de votre choix, pour réaliser cette documentation nous nous basons ici sur une implémentation réalisée en Java (avec Spring MVC).

tagIdCheck

La fonction tagIdChek à pour but de retourver l'identifiant (login ou eppn) d'un individu en fonction de son numéro de carte (csn ou identifiant desfire).

Pour ce faire il faut implémenter une fonction ou un webservice qui accepte en entrée csn et/ou desfire et qui retourne un objet « TagLog » contenant à minima :

@JsonIgnoreProperties(ignoreUnknown=true)
public class TagLog {
	String csn;
	String eppn;
 	String lastname;
 	String firstname;
 	String location;
	String eppnInit;
}

getLocations

La fonction getLocations retourne la liste des lieux disponibles pour l'utilisateur connecté à l'application mobile (ex : pour la carte culture le nom d'une salle de spectacle…)

La fonction prend en entrée l'identifiant de l'utilisateur (eppn) et retourne une liste de String des salles gérées par l'utilisateur.

@RequestMapping(value = "/getLocations", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
@ResponseBody
public List<String> getLocations(@RequestParam String eppn) {
	List<String> listSalles = new ArrayList<String>();
	listSalles.add("Salle de test");
	return listSalles;
}

 

isTagable

La fonction isTagable doit permettre de déterminer si un badge est valide pour le lieu donné. Elle prend doit prendre en entrée un objet « Taglog » contenant au moins eppn et location.

La fonction retourne une entête http tel que :

HttpStatus.OK (200) si l'individu est autorisé à badgé

HttpStatus.INTERNAL_SERVER_ERROR (500), accompagné d'un message dans le corps de la réponse si l'individu n'est pas autorisé

ex :

@RequestMapping(value = "/isTagable", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> eppnCheck(@RequestBody EsupNfcTagLog esupNfcTagLog) {
	if((Math.random() <= 0.5) {
		return new ResponseEntity<String>("OK", responseHeaders, HttpStatus.OK);
	} else {
		return new ResponseEntity<String>("Carte invalide", new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR);
	}
}

 

validateTag

Cette fonction valide le badgeage et déclenche un traitement metier. ll doit prendre en entrée un objet « Taglog » contenant au moins eppn et location. Elle retourne un statut http 200 si le traitement s'est bien déroulé ou une erreur http 500 dans le cas contraire.

@RequestMapping(value = "/validateTag", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> eppnValidate(@RequestBody EsupNfcTagLog esupNfcTagLog, HttpServletRequest httpServletRequest) {
	if((Math.random() <= 0.5) {
		return new ResponseEntity<String>("OK", new HttpHeaders(), HttpStatus.OK);
	} else {
		return new ResponseEntity<String>("KO", new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR);
	}
}

 

 

  • Aucune étiquette