[rest] Was ist der Unterschied zwischen @PathParam und @QueryParam?



Answers

Zusammen mit der obigen Erklärung, die von @Ruben bereitgestellt wird, möchte ich hinzufügen, dass Sie in der Spring-RESTFull-Implementierung auch auf dasselbe verweisen können.

JAXRS-Spezifikation @PathParam - Bindet den Wert eines URI-Vorlagenparameters oder eines Pfadsegments, das den Vorlagenparameter enthält, an einen Ressourcenmethodenparameter, ein Ressourcenklassenfeld oder eine Ressourcenklassen-Bean-Eigenschaft.

@Path("/users/{username}")
public class UserResource {

        @GET
        @Produces("text/xml")
        public String getUser(@PathParam("username") String userName) {
            ...
        }
    }

@QueryParam - Bindet den oder die Werte eines HTTP-Abfrageparameters an einen Ressourcenmethodenparameter, ein Ressourcenklassenfeld oder eine Ressourcenklassenbohneneigenschaft.

URI: Benutzer / Abfrage? Von = 100

@Path("/users")
public class UserService {

    @GET
    @Path("/query")
    public Response getUsers(
        @QueryParam("from") int from){
}}

Um dasselbe mit Spring zu erreichen, können Sie verwenden

@PathVariable (Spring) == @PathParam (Jersey, JAX-RS),

@RequestParam (Spring) == @QueryParam (Jersey, JAX-RS)

Question

Ich bin Neuling im RESTful Trikot. Ich würde gerne fragen, was ist der Unterschied zwischen @PathParam und @QueryParam in Jersey?




Related