Java REST球衣生成URL

时间:2016-01-07 13:59:36

标签: java rest jersey

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

我在休息服务中想要的是:

enter image description here

2 个答案:

答案 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),并引用您要返回的网址。