JAX-RS @PathParam 如何传递带有斜杠,连字符和等于的字符串
我是 JAX-RS 的新手,我正在尝试使用 Jersey 来构建一个简单的 RESTful Web 服务。
我有2个问题。请澄清这些:
-
我正在尝试使用像这样的简单Web服务
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
我需要将其传递给另一个 Web 服务,该 Web 服务返回一个 XML 作为输出,并且我想将该 XML 输出显示为我的 Web 服务的输出。如果我有,它会工作吗?
InChI
@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;
}
}