私はJAX-RSを初めて使用し、Jerseyを使用して単純なRESTfulWebサービスを構築しようとしています。
2つの質問があります。これらを明確にしてください:
このURLのような単純な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サービスに渡す必要があり
InChI
、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;
}
}