gpt4 book ai didi

java - 如何检测对java中的REST服务器的调用是否来自移动设备?

转载 作者:行者123 更新时间:2023-11-30 04:47:25 26 4
gpt4 key购买 nike

我已经用 java 为 Android 设备和桌面设备开发了一个基于 REST 的服务器,现在我想在这两个实体之间做出区分。

我想知道 Android 设备何时访问方法(创建/读取/更新/删除)以及桌面 Web 应用程序。

这是我的代码的快照:

@Path("/v2")
public class RESTfulGeneric {

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/get")
public Response Get() {
ResponseBuilder builder = Response.status(Response.Status.OK);
....
return builder.build();
}

@POST
@Consumes({MediaType.APPLICATION_JSON })
@Path("/create/{Name}")
public Response Post(String Table, @PathParam("Name") String Name) {

ResponseBuilder builder = Response.status(Response.Status.OK);
..........
return builder.build();
}

}

我怎么知道,或者应该验证什么才能知道 Android 设备正在调用这些方法?

我知道这个 request.getHeader("User-Agent") 可以帮助我,但这个请求仅在 Servlet 中可用。

有什么想法吗?

最佳答案

您可以通过向请求处理方法添加参数来从请求中获取用户代理 header ,即

public Response Post(String Table, @PathParam("Name") String Name, @HeaderParam("user-agent") String userAgent) {
if (userAgent.contains("Android")) {
// mobile specific logic
}
}

这是一个有用的 Android 用户代理列表...

http://www.gtrifonov.com/2011/04/15/google-android-user-agent-strings-2/

关于java - 如何检测对java中的REST服务器的调用是否来自移动设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10652816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com