JAX-RS 2.0 - Comment obtenir de l'entité de Réponse de l'objet
Je suis à l'aide de JAX-RS 2.0 avec Dropwizard 0.8.0-rc1 et je ne peux vraiment pas comprendre comment tirer mon entité de javax.ws.rs.core.Response
objet. response.getEntity()
me donne ByteArrayOutputStream
. Je peux créer deux demandes qui me donne des en-têtes et des liens, et l'autre qui me donne mon entité de réponse, mais il semble comme un idiot, inutile et incertaine chose à faire. Est-il un moyen pour obtenir de l'entité de réponse de l'objet?
Mon code de test est comme suit:
public class GroupsResourceTest {
public static String CONFIGURATION_FILE = "src/test/resources/test-conf.yml";
@ClassRule
public final static DropwizardAppRule<BpmConsoleConfiguration> RULE =
new DropwizardAppRule<>(BpmConsoleApplication.class, CONFIGURATION_FILE);
static Client client;
@BeforeClass
public static void initClient(){
client = new JerseyClientBuilder(RULE.getEnvironment()).build("client");
client.register(HttpAuthenticationFeature.basic(User.ADMIN.login, User.ADMIN.password));
}
@Test
public void shouldGetGroups() {
//when
WebTarget resource = target("/groups");
List<String> groups = resource.request().get(new GenericType<>(List.class)); //first request
Response response = resource.request().get(); //second request
Link self = response.getLink("self");
//then
assertThat(self.getUri().getPath()).isEqualTo("/groups");
assertThat(groups).contains(User.ADMIN.login);
}
public WebTarget target(String path){
String url = String.format("http://localhost:%d%s", RULE.getLocalPort(), path);
return client.target(url);
}
}
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser:
public abstract <T> T readEntity(Classe<T> entityType)
- Lire le message de l'entité flux d'entrée comme une instance de spécifié type Java à l'aide d'un MessageBodyReader qui prend en charge le mappage du message entité flux sur le type demandé.