java-我可以在改造方法声明中使用varargs吗?

我有一个API端点,定义为:

GET https://api-server.com/something/{id_or_ids}

id可以是单个对象ID或以逗号分隔的ID列表.
例如
https://api-server.com/something/abcd1234
https://api-server.com/something/abcd1234,abcd4567,gdht64332

如果给定一个id(并找到匹配的对象),我将返回一个json对象:
{“ blah”:“ blah”}

如果给定多个id,我将在json数组中获得响应:
[{“ blah1”:“ bleh”},{“ blah2”:“ meh”},{“ blah3”:“ blah”}]

我目前正在考虑将其实现为两种方法(可以一次完成吗?):

需要一个id并返回一个对象的对象:

@GET("/something/{id}")
void getObject (@Path("id") String objectId, Callback<MyObject> callback)

一个带有多个ID并返回对象数组的对象.

@GET("/something/{ids}")
void getObject (Callback<MyObject[]> callback,@Path("ids") String ... objectIds)

有没有办法提供第二种方法varargs并将它们串联在id字段中?

谢谢

解决方法:

改造不知道您想如何在路径中加入字符串.尽管逗号似乎很明显,但是没有理由为什么有人想要管道(|)或冒号(:)或其他任何东西.

因此,我们什么也不做,只能依靠您来选择.

有两种解决方案:

>使用String作为参数类型,然后在调用站点加入.例如:

foo.getObject(Joiner.on(',').join(things));

>使用其toString()方法处理一个或多个对象的正确格式的自定义对象.

上一篇:java-带翻新的StackExchange API处理


下一篇:使用Simpletest PHP“ PHP的单元测试”,得到错误消息“不建议使用:不建议通过引用分配new的返回值”