個人的に気に入っている Spark Framework を使用して、自分のボット用の REST API を作成しようとしてきましたが、切り替えるつもりはありませんでしたが、GSON でエンコードされた POJO を公開しようとすると、その周りに HTML が配置されます。他のアプリケーションで解析できないようにします。inspect 要素の結果は次のとおりです。
コードから予想したように、送信したかったのは <pre> タグ内の部分だけでした。
私が何をしようとしているのかをもう少し明確にするために、JSON に変換する Spark Route と POJO を次に示します。
get("/json", (req, res) -> {
long sinceStart = System.currentTimeMillis() - Launcher.getInstance().getStartTime();
sinceStart /= 1000;
long hours = sinceStart / 3600;
sinceStart %= 3600;
long minutes = sinceStart / 60;
sinceStart %= 60;
res.type("application/json");
return new JSONResponse(hours + ":" + minutes + ":" + sinceStart,
Launcher.getInstance().getDispatcher().getDispatchCount(),
Launcher.getInstance().getDispatcher().getCommands().size(),
Launcher.getInstance().getClient().getGuilds().size());
});
...
private static class JSONResponse {
private String time;
private int commands, servers;
private long dispatchCount;
JSONResponse(String time, long dispatch, int registered, int servers) {
this.time = time;
this.dispatchCount = dispatch;
this.commands = registered;
this.servers = servers;
}
public String getTime() {
return time;
}
public int getCommands() {
return commands;
}
public int getServers() {
return servers;
}
public long getDispatchCount() {
return dispatchCount;
}
@Override
public String toString(){
return Launcher.getInstance().getGson().toJson(this);
}
}