Использование @Context, @Provider и ContextResolver в JAX-RS

Это, вероятно, проще всего сделать x[None, 10, :] или эквивалентно (но более читаемым) x[np.newaxis, 10, :].

Насколько я понимаю, это не по умолчанию, я считаю, что постоянно иметь массивы с размерами синглтона очень раздражает очень быстро. Я предполагаю, что numpy devs чувствовали то же самое.

Кроме того, многоуровневая передача широковещательных массивов очень хорошо, поэтому обычно нет оснований сохранять размерность массива, из которого вышел срез. Если бы вы это сделали, то такие вещи, как:

a = np.zeros((100,100,10))
b = np.zeros(100,10)
a[0,:,:] = b

, либо не работали, либо было бы намного сложнее реализовать.

(Или, по крайней мере, это моя догадка о рассуждениях numpy dev за снижением информации о размере при разрезе)

30
задан Tamás 15 June 2010 в 17:11
поделиться

1 ответ

Я не думаю, что существует особый способ JAX-RS делать то, что вы хотите. Ближайший вариант:

@Path("/something/")
class MyResource {
    @Context
    javax.ws.rs.ext.Providers providers;

    @GET
    public Response get() {
        ContextResolver<StorageEngine> resolver = providers.getContextResolver(StorageEngine.class, MediaType.WILDCARD_TYPE);
        StorageEngine engine = resolver.get(StorageEngine.class);
        ...
    }
}

Однако я думаю, что аннотация @ javax.ws.rs.core.Context и javax.ws.rs.ext.ContextResolver действительно предназначена для типов, связанных с JAX-RS и поддерживающих JAX-RS. провайдеры.

Вы можете поискать реализации Java Context and Dependency Injection (JSR-299) (которые должны быть доступны в Java EE 6) или другие инфраструктуры внедрения зависимостей, такие как Google Guice, чтобы вам здесь помочь.

19
ответ дан 28 November 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: