Java REST 球衣生产 URL

Java REST jersey produces URL

我有一个 return 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;
}    

我想要的休息服务是这样的:

媒体类型表示返回的文档类型。虽然有 "HTML documents" 和 "XML documents" 以及 "Microsoft word documents"——每个都有一个你可以使用的 MIME 类型——但没有 "URL document" 这样的东西。因此,没有相应的媒体类型是有道理的。如果您实际上只是返回没有 HTML/JSON/XML/whatever 的 URL,那么我会使用文本。

据我所知,URL 没有 content type

您可以假设您正在 returning 的 URL 是一段纯文本并使用 MediaType.TEXT_PLAIN:

@GET
@Path("terms.html")
@Produces(MediaType.TEXT_PLAIN)
public URL getTerms() {
    ...
}

如果你需要,你可以return一个HTML文档(使用MediaType.TEXT_HTML) containing an <a> element,引用你想要return的URL。