微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用多个参数的 RESTFUL Web 服务

如何解决使用多个参数的 RESTFUL Web 服务

我有一个包含 getter 和 setter 的类,其中包含值,例如:

String value1;
String value2;
double result;

我想用这两个字符串来确定结果会发生什么。如果 value1 等于“one”且 value2 =“two”,则结果应乘以预定义的值。

@GET
@Path("/{value1}/{value2}/{result}")
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public double getResult() {
    Something mon = new Something();
    mon.setone(22.2);
    mon.setTwo(11.1);
    if("/{value1}".equals("one")){
       //multiply by mon.setone;
    }
    return 0;
   
}

如何读取和访问路径中定义的值?

解决方法

如果您想接收值作为路径参数(如/foo/one/two/something),您可以使用@PathParam

@GET
@Path("/foo/{value1}/{value2}/{result}")
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public double getResult(@PathParam("value1") String value1,@PathParam("value2") String value2,@PathParam("result") String result) {
   ...
}

但是,根据您打算做什么,您可以考虑将查询参数(如 /foo?value1=one&value2=two&result=something)与 @QueryParam 结合使用:

@GET
@Path("/foo")
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
public double getResult(@QueryParam("value1") String value1,@QueryParam("value2") String value2,@QueryParam("result") String result) {
   ...
}

您可能需要查看此 question 的答案,以了解有关何时使用它们的详细信息。

,

首先你应该使用我使用过的唯一 API 名称 /GetResult 然后输入参数。

@GET
@Path("/GetResult/{value1}/{value2}/{result}")
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
    public double getResult(
            @PathParam(value = "value1") String value1,@PathParam(value = "value2") String value2,@PathParam(value = "result") String result) {

        if (value1.equals("one")) {

        }

        return 0;

    }



版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?