2016-10-18 3 views
0

Я должен написать вызов APIэти pathParams или pathVariable

@GET 
@Path("/{settingName1, settingName2}") 
public Response getNetworkSettingValue(@ApiParam(value = "Name") @QueryParam("name") String name, 
     @ApiParam(value = "City") @QueryParam("city") String city, 
     @ApiParam(value = "State") @QueryParam("state") String state) {} 

здесь мои сомнения в том, как получить settingName1 & settingName2 значения, может написать как

@ApiParam(value = "SettingName1") @PathParam("settingName1") String settingName1

или

@ApiParam(value = "SettingName1") @PathVariable("settingName1") String settingName1

в описании метода.

или

любым другим способом, чтобы получить эти два значения

+0

Вы можете использовать оба, но я бы придерживаться @PathParam. См. Также этот вопрос http://stackoverflow.com/questions/32367501/what-is-the-difference-between-pathparam-and-pathvariable – borowis

+0

Сообщите мне, если бы мой ответ был полезен для вас. –

ответ

0

По @Path аннотацию, я предполагаю, что вы используете JAX-RS (Jersey, Resteasy и т.д.). Так оно и должно быть:

@ApiParam(value = "SettingName1") @PathParam("settingName1") String settingName1 

Если вы используете Spring, он должен быть:

@ApiParam(value = "SettingName1") @PathVariable("settingName1") String settingName1 
0

аннотаций смешиваются с пружиной и чванства.

Если и хотите Accesss pathvariables с весной, чем это должно быть как

@RequestMapping(value = "/{settingName1}/{settingName2}", method = equestMethod.GET) 
public Response getNetworkSettingValue(@ApiParam(value = "settingName1") @PathVariable final String settingName1, 
             @ApiParam(value = "settingName2") @PathVariable final String settingName2) { 
... 
    return new Response(); 
} 
Смежные вопросы