SparkJava GET 处理程序在 Long 序列化后返回 NULL

SparkJava GET Handler Returning NULL After Serialization of Long

我正在尝试使用 SparkJava 编写一个简单的服务器,但是我在使用 Gson 序列化一个 long 并将 JSON 传输到 GET 处理程序中的 OkHttp 客户端程序时遇到了相当大的困难。服务器 returns NULL,更具体地说 response.body.string() 是

<html><body><h2>404 Not found</h2></body></html>

关于问题可能是什么的任何想法?谢谢。

这是 GET 处理程序:

get("routingEngine/getDefaultRoute/distance", (request,response) ->{
    response.type("application/json");
    long distance = 100;
    return gson.toJson(distance);
});

这里是发出简单请求的客户端代码(请忽略随请求一起传入的参数(requestParameters),它们只是向不相关的前置过滤器提供信息):

    // build url
    HttpUrl url = new HttpUrl.Builder()
    .scheme("http")
    .host("127.0.0.1")
    .port(4567)
    .addPathSegment("routingEngine")
    .addPathSegment("getDefaultRoute")
    .addPathSegment("distance")
    .build();

    // build request
    Request getDefaultRouteDistanceRequest = new Request.Builder()
    .url(url)
    .post(RequestBody.create(JSON,gson.toJson(requestParameters)))
    .build();

    // send request
    Call getDefaultRouteDistanceCall = httpClient.newCall(getDefaultRouteDistanceRequest);
    Response getDefaultRouteDistanceResponse = getDefaultRouteDistanceCall.execute();
    
    // parse response
    // testing
    System.out.println(getDefaultRouteDistanceResponse.body().string());

最后一行导致以下输出

<html><body><h2>404 Not found</h2></body></html>

您创建的端点是一个 GET 端点,正在进行的调用是针对 POST。