0

個人的に気に入っている 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);
    }
}
4

1 に答える 1

1

次のように、curl などのツールを使用してサービスの出力を確認します。

curl http://localhost:8080/json

Spark Java は答えを html でラップしないので、見ている出力がどこから来たのか、どこから画像を取得したのかを確認してください。

于 2016-08-11T22:41:27.410 に答える