Bloquer certains verbes HTTP via les APIs

Bonjour,

Je souhaiterai savoir si vous préconisez une méthode particulière pour n’autoriser que certains verbes sur un endpoint spécifique (via le mapping Renault) des APIs.
Dans mon cas, les consommateurs ne doivent pouvoir appeler QUE en POST.
Dans l’idéal, j’aimerai être en mesure de retourner un message d’erreur spécifique à ce cas s’ils tentent de faire un GET.

Merci

Bonjour Thomas,

Dans l’hypothèse où l’objet concerné serait consommé via les API mappées, tu peux surcharger la méthode GET de l’objet externe RESTMapped de la manière suivante:

	//Surcharge des méthodes requete HTML pour avoir des timer
	@Override
	protected Object get(Parameters params) throws HTTPException { 
		Object getResponse;
		getResponse = /*body custom*/;
		return getResponse;
	}

D’accord, cette méthode va-t-elle affecter l’ensemble des endpoint du mapping?
Car je ne souhaite affecter q’un seul endpoint.

S’il y a une logique métier il faut l’écrire dans la surcharge, ex:

	@Override
	public Object get(Parameters params) throws HTTPException {
		if (....)
			return badRequest("Pas le droit d'appeler dans ce cas");
		return super.get(params);
	}

Si je comprends bien, si je me retrouve avec 3 objets ayant chacun une logique métier différente, je vais avoir 3 if dans la méthode get?

Je ne vois pas comment faire autrement, juste bien réfléchir comment écrire ces ifs de manière à ne pas ruiner les performances