Necesito implementar un API con estos ruta params.

@Path("/job/{param1}/{optional1}/{optional2}/{param2}")

La segunda y tercera params por facultativo? Así el cliente no tiene que pasar estas, pero tienen que pasar la primera y la última.

Si esto no es posible, entonces se recomienda reorganizar los parámetros de esta manera?

@Path("/job/{param1}/{param2}/{optional1}/{optional2}")

Cómo proporcionar el opcional de parámetros?

es mejor para reorganizar la params, Si tuviera que elegir, me hubiera separado obligatoria y opcional en 2 tramos, separados por un delimitador en la URL, luego de hacer obligatoria como de posición, y opcional como el valor de la clave par, no sé cómo, que el cliente, en qué escenario se escribe el código, ¿qué has intentado hasta ahora?
Estoy utilizando JAX-RS. Me refería a nakov.com/blog/2009/07/15/…. Es necesario usar regex, o hay alguna otra manera?
¿Cómo podría distinguir optional1 y optional2 en /job/foo/bar/baz? ¿Qué es bar?
Soy capaz de ofrecer parámetros opcionales mediante la solución que se ofrece en www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-parameters. Así que mi problema se ha resuelto ahora.

OriginalEl autor mbgsuirp | 2016-03-01

3 Comentarios

  1. 3

    Puede coincidir con la totalidad de la ruta termina en el RESTO de solicitud de

    @Path("/location/{locationId}{path:.*}")
    public Response getLocation(
        @PathParam("locationId") int locationId,
        @PathParam("path") String path) {
        //your code
    }

    Ahora la variable path contiene toda la ruta, después de location/{locationId}

    También puede utilizar expresiones regulares para hacer la ruta opcional.

    @Path("/user/{id}{format:(/format/[^/]+?)?}{encoding:(/encoding/[^/]+?)?}")
    public Response getUser(
        @PathParam("id") int id,
        @PathParam("format") String format,
        @PathParam("encoding") String encoding) {
        //your code
    }

    Ahora si el formato y la codificación será opcional. A usted no le dé ningún valor que estará vacía.

    La mente de mencionar la fuente? nakov.com/blog/2009/07/15/…

    OriginalEl autor Emdadul Sawon

  2. 13

    Podría ser más fácil para activar la ruta de acceso opcional parámetros dentro de los parámetros de la consulta. Usted puede utilizar @DefaultValue si usted lo necesita:

    @GET @Path("/job/{param1}/{param2}")
    public Response method(@PathParam("param1") String param1,
        @PathParam("param2") String param2,
        @QueryParam("optional1") String optional1,
        @QueryParam("optional2") @DefaultValue("default") String optional2) {
      ...
    }

    Usted puede hacer una llamada usando /job/one/two?optional1=test pasar los parámetros opcionales que usted necesita.

    OriginalEl autor Jorn

  3. 1

    Reorganizar los parámetros y pruebe las siguientes:

    @Path("/job/{param1}/{param2}{optional1 : (/optional1)?}{optional2 : (/optional2)?}")
    public Response myMethod(@PathParam("param1") String param1,
                             @PathParam("param2") String param2,
                             @PathParam("optional1") String optional1,
                             @PathParam("optional2") String optional2) {
        ...
    }

    OriginalEl autor Cassio Mazzochi Molin

Dejar respuesta

Please enter your comment!
Please enter your name here