如何将动态值传递给GET API请求?

问题描述 投票:0回答:3

以下GET请求通过

@GET("api/v1/shades/colors?color=bl")
Call<List<Colors>> getColors();

但是以下GET请求失败。

@GET("api/v1/shades/colors?color={colorId}")
Call<List<Colors>> getColors(@Path(StringConstants.COLOR_ID) String colorId);

将动态值传递给GET请求的正确方法是什么?

谢谢!

java api get java-api
3个回答
1
投票

使用注释@RequestParam

@GET("api/v1/shades/colors")
Call<List<Colors>> getColors(@RequestParam String colorId);

0
投票

以下任何一项都应该起作用:

A。

@GET("api/v1/shades/colors")
Call<List<Colors>> getColors(@RequestParam("colorId") String colorId);

B。

@GET("api/v1/shades/colors/{colorId}")
Call<List<Colors>> getColors(@PathVariable("colorId") String colorId);

0
投票

似乎您正在使用JaxRS Web应用程序。您应该使用此:

@GET("api/v1/shades/colors")
Call<List<Colors>> getColors(@QueryParam("color") String colorId);

[检查此:https://docs.oracle.com/javaee/6/tutorial/doc/gilik.html和此:https://mkyong.com/webservices/jax-rs/jax-rs-queryparam-example/

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.