【问题标题】:are these pathParams or pathVariable这些是 pathParams 还是 pathVariable
【发布时间】:2016-10-18 11:53:06
【问题描述】:

我必须编写一个 API 调用

@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

在方法声明中。

获取这两个值的任何其他方式

【问题讨论】:

标签: java web-services rest


【解决方案1】:

通过@Path 注释,我假设您使用的是 JAX-RS(Jersey、RESTEasy 等)。所以应该是:

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

如果你使用的是 Spring,它应该是:

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

【讨论】:

    【解决方案2】:

    您的注释与 spring 和 swagger 混为一谈。

    如果你想使用 spring 访问路径变量,那么它必须是这样的

    @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();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      相关资源
      最近更新 更多