Comment passer les deux paramètres de la requête dans l'URL
@Stateless
@Path("projection")
public class ProjectionManager {
@Inject
private ProjectionDAO projectionDAO;
@Inject
private UserContext userContext;
@GET
@Path("{projectionId}")
@Produces("application/json")
public String places(@PathParam("projectionId") String projectionId) {
return projectionDAO.findById(Long.parseLong(projectionId)).getPlaces().toString();
}}
Dans cet exemple, l'url de ce service devrait être /projection/projectionId, mais comment je peux avoir accès à un service de deux ou plusieurs requêtes parametar dans ce code :
@PUT
@Path("/buy")
public Response buyTicket(@QueryParam("projectionId") String projectionId, @QueryParam("place") String place){
Projection projection = projectionDAO.findById(Long.parseLong(projectionId));
if(projection != null){
projectionDAO.buyTicket(projection, userContext.getCurrentUser(), Integer.parseInt(place));
}
return Response.noContent().build();
}
Vous venez d'invoquer HTTP METTRE à
/buy?projectionId=1
.
OriginalL'auteur alle3x | 2015-06-17
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à https://en.wikipedia.org/wiki/Query_string pour de plus amples informations. Et puisque c'est HTTP PUT vous ne peut pas simplement ouvrir l'URL dans votre navigateur, vous pouvez écrire un peu de REPOS simple client ou utiliser l'extension de navigateur comme Facteur dans google Chrome.
OriginalL'auteur Tomasz W
Paramètre de requête est la chose après l'
?
dans l'URI, tandis que le paramètre path est le parametrer avant la?
dans l'URI.Si vous avez besoin de deux entrées à votre méthode, vous pouvez aller avec n'importe quelle combinaison de requête param et le chemin d'accès param => quatre combinaisons
C'est une bonne convention chemin params doit désigner une sorte d'identité de la ressource, parce que c'est une partie de l'adresse, tandis que la requête params plus d'une certaine forme/forme/filtrage de la réponse.
Dans votre cas, j'aimerais coder params comme chemin de paramètres, de sorte que le code devrait ressembler à ceci:
L'URL devrait ressembler à:
${host}/buy/1337/place/42
OriginalL'auteur Jiri Kremser
Merci pour vos commentaires les gars, j'ai corrigé.
Il semble que j'ai dû ajouter le paramètre de chemin d'accès aux paramètres supplémentaires, et de passer des paramètres supplémentaires sur la demande, à la place du paramètre path. Code se présente comme ci-dessous,
Grâce.
Ref: https://www.npmjs.com/package/aws-api-gateway-client
OriginalL'auteur Malusi Ninela