JAX-RS переменная глубина пути - PullRequest
0 голосов
/ 14 июня 2019

Можно ли получить переменную величину глубины пути?

Пример пути:

Пример кода:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;

@Path("/image")
@Produces("image/*")
@Consumes("image/*")
public class ImageResource {

    @GET
    @Path("/{image}")
    public Response getImage(@PathParam("image") String image) {
        ...
    }
}

В основном я использую две зависимости Maven:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>7.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.4</version>
</dependency>

1 Ответ

0 голосов
/ 14 июня 2019

Если вам не требуется, чтобы информация была в пути URL (ваш пример кода, кажется, просто хочет поместить путь к изображению в строку), вы можете получить нужную информацию, используя @QueryParam:

@GET
@Path("/image")
public Response getImage(@QueryParam("imagepath") String image) {
    ...
}

Вызовите конечную точку через "... / images / image? Imagepath = ...".Кроме того, я не проверял его, и вам, возможно, придется избегать прямой косой черты (возможно, %2F или использовать URLEncoder.encode(url, "UTF-8") на стороне клиента).

Если, однако, я неправильно понял ваш вариант использования, и вы действительно хотите переменные пути, это невозможно, афаик.В этом случае, возможно, вам следует использовать одну конечную точку на деталь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...