如何在REST函数的ResponseBuilder中调用Javascript函数



我想调用Javascript代码在客户端浏览器与各种状态更新字符串作为参数,从我的Java服务器端代码。

javascript代码将调用以下checkstatus函数,我将返回对javascript函数statusupdate的调用

statusupdate()函数调用将有一个String作为参数,就像这样statusupdate("statusstring")

那么我如何在一个REST函数的响应中调用JavaScript函数呢?我正在使用Jersey。

  @Path("apis")
  public class ChatAPIs {
  @GET
  @Path("/checkstatus")
  public Response checkStatus(@DefaultValue("") @QueryParam("vi") String vi){
    StatusCheckHelper statusCheckHelper = new StatusCheckHelper();
    return Response.ok(
       //I would Like to invoke a javascript function here.
      ).build();
  }

好的,我希望现在你的问题对我来说更清楚了。您希望从运行在客户端的JavaScript调用RESTful API,然后,当响应到达时,使用RESTful API返回的结果异步调用回调函数。

那么,解决方案如下。您的checkStatus()可以返回您需要的任何类型。例如String。显然,它可以用任何你想要的包装器来包装,但这并不重要。Javascript应该使用这个脚本并调用statusUpdate(theReturnValue),其中theReturnValue是由RESTful API返回的String(或其他东西)。

但是,如果将来您需要根据响应调用不同的回调函数,您可以返回复杂的响应并在客户端实现switch/case或If/else逻辑,甚至返回有效的javascript代码并在客户端使用eval()函数调用它。

最新更新