2016-01-07 117 views
1

我有一個方法返回java.net.URL,我無法找到@Produces註釋的正確MediaType。有可能產生一個URL MediaType?Java REST球衣生產URL

我的代碼:

@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

回答

1

據我所知,網址沒有content type

你可以假設你正在返回的URL是一塊純文本,並使用MediaType.TEXT_PLAIN

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

如果你需要,你可以返回(使用MediaType.TEXT_HTML)含有<a> element一個HTML文件,引用你想要返回的URL。

1

媒體類型意在表示正在返回什麼樣的文件。儘管有「HTML文檔」和「XML文檔」和「Microsoft word文檔」 - 其中每個文檔都有可以使用的MIME類型,但沒有任何「URL文檔」。所以,不要有相應的媒體類型。如果你真的只是返回沒有HTML/JSON/XML/URL的URL,那麼我會使用文本。