2016-08-11 5 views
0

개인적으로 많이 좋아하는 Spark Framework를 사용하여 내 봇용 REST API를 만들려고했지만 전환하지는 않았지만 GSON 코드를 게시하려고 시도했습니다. POJO,하지만 주위에 몇 가지 HTML을 넣어, 다른 응용 프로그램에 의해 unparseable하게. 다음은 검사 요소의 결과입니다. the resultSpark Framework에서 내 응답 주위에 HTML 넣기

> 태그의 일부 였으므로 코드에서 예상했습니다.

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); 
    } 
} 
+0

당신의 [JSONResponse] 대신 [ResponseTransformer] (http://sparkjava.com/documentation.html#response-transformer) – Cir0X

+0

@ Cir0X를 시도 할 수 있습니다. 현재이 작업을하고 있습니다 :''get ("/ json", Launcher.getInstance(). getGson() :: toJson); "그러나 똑같은 일을합니다. 어쨌든 도와 줘서 고마워! – ArsenArsen

+0

이 이미지는 무엇이 표시됩니까? 이 도구를 사용하여 어떤 도구를 사용 했습니까? 나는 spark java가 html 요소에 출력을 래핑한다고 생각하지 않는다. 곱슬 곱슬하게 서비스에 액세스하려 했습니까? 'curl http : // localhost : 8080/json'을 입력하고 서비스가 실행중인 올바른 호스트와 포트로 대체하십시오. –

답변

1

확인 컬과 같은 도구를 사용하여 서비스의 출력 : 그냥

, 여기에 경로와 POJO 내가 JSON으로 전환하고 내 스파크있는 임하려고 노력 것에는 좀 더 명확하게하기 같은 :

curl http://localhost:8080/json 

스파크 자바 HTML에서 답을 포장하지 않으므로에서 유래에서 이미지를했다 어디 당신이보고있는 출력과 위치를 확인합니다.