使用Delve和Docker调试Go API-使用Postman无法访问API

时间:2019-08-01 13:44:11

标签: docker go goland delve

我正在尝试使用Docker和Goland调试Go API。

我遵循了this tutorial,并且在调试Go App时可以使其正常工作。

但是我的应用程序是一个API,因此它启动了,我希望当我通过Postman发出请求时,我的API应该在一个断点处停止。

正在发生的事情是该API没有响应,也没有被调用。

以下是Goland应用日志:

String json = "{\"brand\" : \"Toyota\", \"doors\" : 5}";

JsonReader jsonReader = new JsonReader(new StringReader(json));

try {
    while(jsonReader.hasNext()){
        JsonToken nextToken = jsonReader.peek();
        System.out.println(nextToken);

        if(JsonToken.BEGIN_OBJECT.equals(nextToken)){

            jsonReader.beginObject();

        } else if(JsonToken.NAME.equals(nextToken)){

            String name  =  jsonReader.nextName();
            System.out.println(name);

        } else if(JsonToken.STRING.equals(nextToken)){

            String value =  jsonReader.nextString();
            System.out.println(value);

        } else if(JsonToken.NUMBER.equals(nextToken)){

            long value =  jsonReader.nextLong();
            System.out.println(value);

        }
    }
} catch (IOException e) {
    e.printStackTrace();
}

它告诉我我的应用程序在端口9999上运行,而delve在端口40000上运行。

我尝试了端口9999和40000,但是它们都不适合我的请求。

我想念什么?

1 个答案:

答案 0 :(得分:3)

您的应用程序仍在运行,需要打开并转发端口9999才能向其发出请求。

Delve使用端口40000,您应该将IDE连接到远程服务,以允许它使用Go Remote运行配置来启动/继续。

如果您仍然对此有疑问,请在https://youtrack.jetbrains.com/issues/Go上提出问题,并提供有关此问题的更多详细信息,最好复制屏幕快照或要复制的代码,或者在Twitter / { {3}}在#goland频道中。