2016-08-11 4 views
3

私は春の起動時に初心者です。私は既にjsonで正常に出力されたリクエストマッピングを実装しています。私はlocalhost:8080/gJsonからJSONを取得し、このリンク>localhost:8080/GetInfoしかし、すべての「Xするつもりだときスケジュールのあるスプリングブートリクエストマッピング

localhost:8080/gJson

{ 
    ad: "Windows 10", 
    mimari: "amd64", 
    versiyon: "10.0", 
    diskSize: 918, 
    freediskSize: 614, 
    cores: 8, 
    usablediskSize: 614 
    } 

そして、ここで私のコントローラ

@EnableAutoConfiguration 
@Controller  
public class GreetingController { 

    @RequestMapping(value = "/gJson", produces=MediaType.APPLICATION_JSON_VALUE) 
    public @ResponseBody MyPojo gJson(){ 
     ... 
    } 
} 

そして今、私が...例が必要秒。

ありがとうございました。

答えて

1

/GetInfoはどのように配信されますか?それは単なる標準的なHTMLページですか?もしそうなら、setInterval()を持つJavascript要素をコーディングしてXMLHttpRequest/gJsonエンドポイントにすることができます。ブラウザーからサーバーへの通信に使用するライブラリーに応じて、他にもさまざまな方法があります。

*更新* サンプル・プロジェクト:リフレッシュすることができますhttps://github.com/ShawnTuatara/stackoverflow-38890600

主な特徴は、問題の概説として、コントローラは簡単ですsrc/main/resources/static/GetInfo.html

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="ISO-8859-1"> 
<title>GetInfo</title> 
<script 
    src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
</head> 
<body> 

</body> 
<script type="text/javascript"> 
    $(function() { 
     window.setInterval(function() { 
      $.ajax({ 
       url : "/gJson" 
      }).done(function(data, status, jqXHR) { 
       $("body").text(jqXHR.responseText); 
      }); 
     }, 10000); 
    }); 
</script> 
</html> 

でHTMLページです。

@EnableAutoConfiguration 
@RestController 
public class GreetingController { 
    @GetMapping(value = "/gJson", produces = MediaType.APPLICATION_JSON_VALUE) 
    public MyPojo gJson() { 
     return new MyPojo("Windows 10", System.currentTimeMillis()); 
    } 
} 

最後に、MyPojoは単純な2つのフィールドクラスです。

public class MyPojo { 
    private String ad; 
    private long timestamp; 

    public MyPojo(String ad, long timestamp) { 
     this.ad = ad; 
     this.timestamp = timestamp; 
    } 

    public String getAd() { 
     return ad; 
    } 

    public void setAd(String ad) { 
     this.ad = ad; 
    } 

    public long getTimestamp() { 
     return timestamp; 
    } 

    public void setTimestamp(long timestamp) { 
     this.timestamp = timestamp; 
    } 
} 

ウェブページで10秒ごとにリフレッシュする時間を表示できるように、タイムスタンプが含まれています。

+0

私はgetInfo.htmlを持っています。あなたはajax setIntervalを正しく呼び出すことを意味しますか? –

+0

window.setInterval()...答えには、Javascriptの例を持つページへのリンクがあります。 –

+0

最初に、私は悪い英語のために謝罪します。私はsetInverval()を知っていますが、春のブートリクエストは1時間だけ働いています..そして、私はあなたが 'localhost:8080/gJson' Request Mappingを使用したSpringブートから10秒。 –

関連する問題