gpt4 book ai didi

java - JAX-RS @PathParam 如何传递带有斜杠、连字符和等号的字符串

转载 作者:IT老高 更新时间:2023-10-28 20:49:28 26 4
gpt4 key购买 nike

我是 JAX-RS 的新手,我正在尝试使用 Jersey 构建一个简单的 RESTful Web 服务。

我有 2 个问题。请澄清这些:

  1. 我试图让我的简单网络服务像这个 URL http://localhost:8080/SampleJersey/rest/inchi/InChIName

    InChIName 是这样的字符串 InChI=1S/C9H8O4/c1-6(10)13-8-5-3-2-4-7(8)9(11)12/h2- 5H ,1H3,(H,11,12)。如何将它作为 @PathParam 传递,我的意思是普通字符串工作正常,但这里有斜杠、连字符和逗号。我怎样才能忽略这些。我试着把它放在引号里,但这没有用。我该怎么做?

  2. 我需要将该 InChI 传递给另一个 Web 服务并返回一个 XML 作为输出,我想将该 XML 输出显示为我的 Web 服务的输出。如果我有 @Produces("application/xml") 会起作用吗?

这是我的代码:

@Path("/inchi")
public class InChIto3D {
@GET
@Path("{inchiname}")
@Produces("application/xml")
public String get3DCoordinates(@PathParam("inchiname")String inchiName) {
String ne="";
try{
URL eutilsurl = new URL(
"http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?"
+ "db=pccompound&term=%22"+inchiName+"%22[inchi]");
BufferedReader in = new BufferedReader(
new InputStreamReader(eutilsurl.openStream()));
String inputline;
while ((inputline=in.readLine())!=null)
ne=ne+inputline;
}catch (MalformedURLException e1) {
}catch (IOException e2){
}
return ne;
}
}

最佳答案

这是在路径参数中启用斜杠的方式:

@Path("{inchiname : .+}")
public String get3DCoordinates(@PathParam("inchiname")String inchiName)

关于java - JAX-RS @PathParam 如何传递带有斜杠、连字符和等号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2291428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com