有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是这些pathParams还是pathVariable

我必须编写一个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

在方法声明中

还有其他方法可以得到这两个值吗


共 (2) 个答案

  1. # 1 楼答案

    您的注释与spring和swagger混淆在一起

    如果你想用spring访问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();
    }
    
  2. # 2 楼答案

    通过^{}注释,我假设您使用的是JAX-RS(Jersey、RESTEasy等)。因此,它应该是:

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

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

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