0

我正在尝试测试网络服务。我正在使用下面的课程进行测试

public class GitHubClientTest {
    private WebService client;
    private WSClient ws;
    private Server server;

    @Before
    public void setup() {
        UMStateUpdate evt = new UMStateUpdate(2040, 0, 5, 0L, "CAR", false, "");

        // JsonNode tataa= Json.toJson(evt);
        //1-colocar esse serve la no webservice...
        //se funcionar o 1,então 2- testar novamente aqui se recebe dados certinho
        server = Server.forRouter((components) -> RoutingDsl.fromComponents(components).POST("/web").routeTo(()->{
            ArrayNode repos = Json.newArray();
            UMStateUpdate evta = new UMStateUpdate(2040, 0, 5, 0L, "CAR", false, "");
            JsonNode tata= Json.toJson(evta);
            repos.add(tata);
            return ok(repos);
        }).build());

        ws = WSTestClient.newClient(server.httpPort());
        client =  new services.WebService(ws);
        client.baseUrl="";
        System.out.print(server.httpPort());
    }

    @After
    public void tearDown() throws IOException {
        try {
            ws.close();
        }
        finally {
            server.stop();
        }
    }

    @Test
    public void repositories() throws Exception {
        JsonNode repos = client.unidademoveis().toCompletableFuture().get(10, TimeUnit.SECONDS);
        // assertThat(repos, hasItem("/Hello-World"));
        System.out.println(repos);
    }
}

但是,当使用 POST (.POST ("/web").RouteTo (()) 我得到这个错误 java.util.concurrent.ExecutionException: java.lang.RuntimeException: Error parsing JSON of WS wsBody response

但是在使用GET(.GET("/web").)RouteTo(()-)的时候正常工作,会是什么呢?我想使用 post,因为它是一个网络服务,我将始终在其中发布以发送数据。我帮

4

0 回答 0