JAX-RS 2.0 - How to get Person von Response-Objekt

Bin ich mit JAX-RS 2.0 mit Dropwizard 0.8.0-rc1 und ich kann wirklich nicht herausfinden, wie ziehen meine Person aus javax.ws.rs.core.Response Objekt. response.getEntity() gibt mir ByteArrayOutputStream. Kann ich zwei Anträge - einer, der mir Header und links und der andere, der gibt mir meine Antwort Einheit, aber es scheint wie eine dumme, verschwenderische und unklar, was zu tun. Gibt es eine Möglichkeit, für die erste Person aus dem response-Objekt?

Meine aktuelle test-code ist wie folgt:

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);
    }

}

InformationsquelleAutor Bartek Andrzejczak | 2014-11-11

Schreibe einen Kommentar