gpt4 book ai didi

java - 使用 Wicket 作为 REST API

转载 作者:可可西里 更新时间:2023-11-01 16:26:54 26 4
gpt4 key购买 nike

我需要 Wicket 来响应来自 AngularJS 的发布请求。

我在 wicket 中这样设置了一个页面,但请求参数始终为空

@MountPath(value = "/api/my/rest/url")
public class MyPostHandler extends SecureWebPage {

public MyPostHandler () {
final WebRequest webRequest = (WebRequest) getRequest();
final HttpServletRequest rawRequest = (HttpServletRequest) webRequest.getContainerRequest();

if (rawRequest.getMethod().equalsIgnoreCase("POST")) {
webRequest.getRequestParameters().getParameterNames(); //Returns an empty list
webRequest.getPostParameters().getParameterNames(); //Returns an empty list
}
}
}

发送 POST 请求的 AngularJS 代码如下所示:

$http.post('/api/my/rest/url', {some:"data", other:"stuff"});

知道这里出了什么问题吗?谢谢!

最佳答案

不确定这是否是最佳解决方案,但以下代码对我有用

@MountPath(value = "/api/my/rest/url")
public class MyPostHandler extends SecureWebPage {

public MyPostHandler () {
final WebRequest webRequest = (WebRequest) getRequest();
final HttpServletRequest rawRequest = (HttpServletRequest) webRequest.getContainerRequest();

if (rawRequest.getMethod().equalsIgnoreCase("POST")) {

BufferedReader br;
try {
br = rawRequest.getReader();
String jsonString = br.readLine();
//Do something with the JSON here
}
catch (IOException e) {

}

}
}
}

我遇到的另一个潜在解决方案是这个项目 https://github.com/bitstorm/Wicket-rest-annotations

关于java - 使用 Wicket 作为 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18235950/

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