Spring引导请求映射与计划

时间:2016-08-11 08:01:25

标签: java json spring-boot schedule

我是春季靴子的新手。我已经在json中成功输出了一些请求映射。

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(){
         ...
     }
}

现在,我需要......例如,当我要访问此链接时> localhost:8080/GetInfolocalhost:8080/gJson获取json,但每个" X"秒。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如何提供/ GetInfo?它只是一个标准的HTML页面吗?如果是这样,您可以编写具有setInterval()的Javascript元素,以便/gJsonsrc/main/resources/static/GetInfo.html端点。还有许多其他方法可以执行此操作,具体取决于您要使用哪些库来进行浏览器与服务器之间的通信。

*更新* 示例项目:XMLHttpRequest

允许刷新的主要方面是<!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());
    }
}

如问题中所述,控制器很简单。

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;
    }
}

最后,MyPojo只是一个简单的两个字段类。

$(staticParentElement).on('event','selector',callback_function)

我添加了时间戳,以便您可以在网页上看到每10秒刷新一次的时间。