gpt4 book ai didi

java - 使用不同参数调用 REST WS

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:06 26 4
gpt4 key购买 nike

我在从 ajax 前端调用 REST WS 时有一个基本疑问。我从 ajax 调用 WS 为:

url: self.GET_GOAL_VIEW_URL + '?userEmail=' + eMail,

或如:

url: self.GET_GOAL_VIEW_URL,

现在,在显式传递 userEmail 参数的情况下,我需要在后端服务代码中使用 userEmail,但如果调用中缺少 userEmail,我需要使用另一个名为 userId 的参数,该参数由代理添加到调用中。

所以我不知道如何编写 WS API,以便它根据 ajax 请求中使用的参数来采用这个参数或那个参数。将不胜感激您对此的帮助。

最佳答案

您可以将参数作为查询参数或正文参数传递。您还没有提到您将在后端使用哪个 REST 框架,因此假设您将使用 jersey,代码应如下所示:

带有查询参数:

@POST
@Path("/somepath")
public Response doSomething(@QueryParam("userEmail") String userEmail, @QueryParam("userId") String userId) {
if(userEmail != null && !userEmail.equals("")) {
//use email address
} else if(userId != null && !userId.equals("")) {
//use user id
} else {
throw new RuntimeException()
}
}

body 参数:

@POST
@Path("/somepath")
public Response doSomething(userDTO user) {
if(user.getUserEmail() != null && !user.getUserEmail().equals("")) {
//use email address
} else if(user.getUserId() != null && !user.getUserId().equals("")) {
//use user id
} else {
throw new RuntimeException()
}
}

当然,您需要指定要返回的内容类型,并根据需要更改方法类型。

关于java - 使用不同参数调用 REST WS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45341742/

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