我有一些 JavaScript,我想对我的 servlet 执行 REST 请求 (GET)。 我要发送的记录格式如下...
/id1/vara/varb/varc/timedelta1,timedelta2,timedelta3,....,timedeltaN/
所以基本上我发送的每条记录中都会有 5 个属性。我需要对这些进行批处理——我在单个 GET 请求中发送多条记录。我的获取 URL 可能类似于以下内容。
myservletname/id1/vara/varb/varc/timedelta1,timedelta2,timedelta3/id2/vara/varb/varc/timedelta1,timedelta2,timedelta3/id3/vara/varb/varc/timedelta1,timedelta2,timedelta3/
我知道 URL 字符串中大约有 2000 个字符的限制,因此为了确保安全,我将确保 URL 的长度小于此长度。 在上面的示例中,3 条记录被发送到 servlet。
我想知道如何在服务器端处理这些。之前在 Java 中还没有真正使用过 REST。我需要在服务器端做什么来处理这些 URL 以提取数据?
谢谢
最佳答案
基本上
public class RestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) {
String uri = request.getPathInfo();
Pattern p = Pattern.compile(
"/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(\d+)(?:,(\d+))*/"
);
Matcher m = p.matcher(uri);
if (m.matches()) {
String id = m.group(1);
String vara = m.group(2);
String varb = m.group(3);
String deltas = m.group(4);
// etc
}
}
}
对于如何做到这一点来说,这不是一个很好的模型,但对于不熟悉 Servlet 的人来说,它很简单易懂
关于java - 对 JAVA Servlet 的 REST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5040668/