从我的 java 应用程序使用 apiClient 调用 GET Rest 服务。如果我有'&'作为输入参数的一部分。它把它当作分隔符



我正在使用一个 GET Rest API。我已经导入了客户端 api 并使用它来调用服务。如果我有 &作为输入的一部分,例如"1 & 2".它没有被编码,源接收参数仅为 1。当我使用 swagger ui 调用相同的方法时,它工作正常。

我对网络服务完全陌生。如果我错过了一些必要的细节,请告诉我,让每个人都了解我的问题。我们正在使用 swagger 代码生成来生成客户端 api。

String code = "1 & 2";
String productId = productControllerApi.getAllProductIdUsingGET(null, null, null, code);

我应该怎么做才能getAllProductIdUsingGET接收参数作为1 & 2

我试过了

URLEncoder.encode(code, CharEncoding.UTF_8);

但是现在getAllProductIdUsingGET接收参数作为1+%26+vikram,并且没有给我必要的输出。

在消费者方面我能做些什么,还是必须处理的来源?

您应该将编码的字符串发送到 Rest API,然后使用:

String decoded = java.net.URLDecoder.decode(code , "UTF-8");
String productId = productControllerApi.getAllProductIdUsingGET(null, null, null, decoded);

相关内容

最新更新