gpt4 book ai didi

java - 在 REST 资源中接收空值

转载 作者:行者123 更新时间:2023-12-01 12:29:11 26 4
gpt4 key购买 nike

在使用 ajax 通过 POST 发送这两个参数时,我不断收到空值(也尝试使用 Poster):

@POST
@Path("/update")
@Produces(MediaType.APPLICATION_JSON)
public void update(String Path, String Content) {

updateURI(Path,Content);


}

路径:http://essam.ldm.io/stor...amblog/ChannelList/ch1/post2

内容:<http://essam.ldm.io/storage/essamblog/ChannelList/ch1/post2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://crosscloud/mblog/Post>. <http://essam.ldm.io/storage/essamblog/ChannelList/ch1/post2> <http://crosscloud/mblog/owner> <https://essam.ldm.io></https:>. <http://essam.ldm.io/storage/essamblog/ChannelList/ch1/post2> <http://purl.org/dc/terms/created> <2013-03-06T16:41:18+0300^^http://www.w3.org/2001/XMLSchema#dateTime>. <http://essam.ldm.io/storage/essamblog/ChannelList/ch1/post2> <http://rdfs.org/sioc/ns#content>.

显然我无法将它们发送为 @QueryParam@PathParam由于格式的原因。

放置 jQuery 代码是无关紧要的,因为它与 Poster 都无关,但这里是:

function doUpdate(path, rdf)
{
var obj1 = {"path": path, "rdf": rdf};
var sUrl = "http://localhost:8080/browsing/services/RDF/update";
$.ajax({
type: "POST",
url: sUrl,
contentType: "application/json; charset=utf-8",
data: obj1,
//dataType: "json",
async: false,
success: function (resp, status, xhr) {
$("#message").html("STATUS: " + xhr.status + " " + xhr.statusText + "\n" + resp);
$("#message").hide();
$("#login_message").html("<font color='green'><b>Record succesfully updated</b></font>d");
},
error: function(resp, status, xhr){
$("#message").html("ERROR: " + resp.status + " " + resp.statusText + "\n" + xhr);
$("#message").show();
}
});
}

我做错了什么吗?

谢谢

最佳答案

您可以在发送之前对其进行编码(即 base64)并在服务器上对其进行解码,或者您可以使用 JSON 作为请求参数。

例如使用 JSON;

@POST
@Path("/update")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public void update(PathContext ctx) {
updateURI(ctx.getPath(),ctx.getContent());
}

@XmlRootElement
public class PathContext {
private String path;
private String content;

public String getPath() {
return path;
}

public void setPath(String path) {
this.path = path;
}

public String getContent() {
return content;
}

public void setContent(String content) {
this.content = content;
}

}

你的 JSON 看起来像;

{"path": somePath, "content": someContent}

希望有帮助。

关于java - 在 REST 资源中接收空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26084866/

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