Java 构建RESTAPI时如何在httpclient中添加路径参数

Java 构建RESTAPI时如何在httpclient中添加路径参数,java,apache,httpclient,jira-rest-java-api,Java,Apache,Httpclient,Jira Rest Java Api,我有以下uri www.xyz.com-基本uri 我需要将userId作为路径参数添加到uri的末尾 根据swagger文档,uri格式为www.example.com/{userId} 参数类型=路径,值=用户ID(字符串) 我可以在post请求中添加body。但是,我无法将userId添加为路径参数。我只能将参数添加为查询参数,但难以将其添加为路径参数 代码片段 CloseableHttpClient client = HttpClients.createDefault(); String

我有以下uri

www.xyz.com-基本uri 我需要将userId作为路径参数添加到uri的末尾

根据swagger文档,uri格式为www.example.com/{userId}

参数类型=路径,值=用户ID(字符串)

我可以在post请求中添加body。但是,我无法将userId添加为路径参数。我只能将参数添加为查询参数,但难以将其添加为路径参数

代码片段

CloseableHttpClient client = HttpClients.createDefault();
String userId = "25efba57-673b-45ae-9eed-41588730aaaa";
String baseUri = "http://www.example.com";
URIBuilder exampleUri = new URIBuilder(baseUri);
exampleUri.addParameter("userId",userId);
String generatedUri = mandrakeUri.toString();
HttpPost httpPost = new HttpPost(generatedUri);
生成的URI=

预期URI=

请帮助我在http post中添加路径参数。我也尝试了setparameter方法,但仍然无法添加它

String baseUri = "http://www.example.com";    
URIBuilder exampleUri = new URIBuilder(baseUri);
exampleUri.setPath("/" + userId);
String generatedUri = mandrakeUri.toString();
HttpPost httpPost = new HttpPost(generatedUri)

尝试将字符串baseUri和userId连接起来。
还要检查baseUri是否有斜杠“/”,或者在连接之前添加它。

您可以试试这个
UriBuilderExampleUri=newUriBuilder(baseUri+“/”+userId)在执行以下URIBuilder示例Uri=newUriBuilder(baseUri+“/”+userId)后,我获得了预期的url;但是,我得到了未经授权的401,因为用户ID没有被添加为路径参数。我得到了以下错误HttpResponseProxy{HTTP/1.1 405此URL不支持HTTP方法POST,但是我可以从swagger执行POST。尝试使用“/”没有斜杠,但没有给我回复,只是说帖子不支持这个url。不过曼德拉也一样。