我正在尝试使用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,但是它们都不适合我的请求。
我想念什么?
答案 0 :(得分:3)
您的应用程序仍在运行,需要打开并转发端口9999才能向其发出请求。
Delve使用端口40000,您应该将IDE连接到远程服务,以允许它使用Go Remote
运行配置来启动/继续。
如果您仍然对此有疑问,请在https://youtrack.jetbrains.com/issues/Go上提出问题,并提供有关此问题的更多详细信息,最好复制屏幕快照或要复制的代码,或者在Twitter / { {3}}在#goland频道中。