从我的Java应用程序中使用apiClient调用GET Rest服务。如果我将'&'作为输入参数的一部分。以它为分隔符

时间:2019-04-16 11:01:41

标签: java rest get swagger swagger-codegen

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

我是Web服务的新手。如果我错过了一些必要的详细信息,以便大家理解我的问题,请告诉我。我们正在使用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,并且没有提供必要的输出。

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

1 个答案:

答案 0 :(得分:0)

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

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