J'ai un Restlet ServerResource
, qui devrait traiter une requête GET avec un paramètre user
. Si user
est égal à une certaine valeur, il devrait retourner une image, sinon envoyer une réponse d'erreur (404 ou 403) indiquant que l'expéditeur n'est pas autorisé à obtenir l'image.Comment envoyer une réponse d'erreur dans Restlet?
import org.restlet.data.MediaType;
import org.restlet.representation.ObjectRepresentation;
import org.restlet.representation.Representation;
import org.restlet.resource.Get;
import org.restlet.resource.ResourceException;
import org.restlet.resource.ServerResource;
public class GetMap extends ServerResource {
@Get
public Representation getImage() {
final String user = getQuery().getValues("user");
if (user.equals("me")) {
//Read map from file and return it
byte[] data = readImage();
final ObjectRepresentation<byte[]> or=new ObjectRepresentation<byte[]>(data, MediaType.IMAGE_PNG) {
@Override
public void write(OutputStream os) throws IOException {
super.write(os);
os.write(this.getObject());
}
};
return or;
}
return null; // Here I want to send an error response
}
[...]
}
Comment puis-je envoyer une réponse d'erreur standardisée dans la méthode getImage
(au lieu de return null
)?