我有一个返回java.net.URL的方法,我找不到@Produces注释的正确MediaType。是否可以生成URL MediaType?
我的代码:
@GET
@Produces(MediaType.TEXT_HTML) //MediaType I don´t know
@Path("terms.html")
public URL getTerms(){
Iterator<String> it=definitions.keySet().iterator();
URL url,url1=null;
try {
url = new URL("http://localhost:8080/Dictionary/definitions/");
url1 = new URL(url,it.next()+".html");
} catch (MalformedURLException e) {
e.printStackTrace();
}
return url1;
}
我在休息服务中想要的是:
答案 0 :(得分:1)
媒体类型旨在表示返回的文档类型。虽然有“HTML文档”和“XML文档”和“Microsoft文档文档” - 每个都有一个你可以使用的MIME类型 - 但是没有任何“URL文档”这样的东西。因此,没有相应的媒体类型是有道理的。如果您只是返回没有HTML / JSON / XML /的URL,那么我会使用文本。
答案 1 :(得分:1)
据我所知,网址没有content type。
您可以假设您要返回的网址是一段纯文本并使用MediaType.TEXT_PLAIN
:
@GET
@Path("terms.html")
@Produces(MediaType.TEXT_PLAIN)
public URL getTerms() {
...
}
如果需要,您可以返回包含MediaType.TEXT_HTML
的HTML文档(使用<a>
element),并引用您要返回的网址。