[英]Set Content/Media type - Restlet
如何在Restlet(谷歌應用引擎版本2.0)中設置內容類型? 在這種情況下,我想將內容類型設置為“”text / xml“。
我有:
public class SubResource extends ServerResource {
@Get
public Representation get(Representation representation){
setStatus(Status.SUCCESS_OK);
StringRepresentation sr = new StringRepresentation(getSomeXml());
return sr;
}
}
即使它是在Representation中設置的值,或者它是從ServerResource類設置的方式與返回代碼相同,我也不確定。
StringRepresentation sr = new StringRepresentation(getSomeXml());
sr.setMediaType(MediaType.TEXT_XML);
除非GAE風格中有一些我不知道的東西,否則我認為它不需要那么復雜。 這對我有用:
@Get( value = "xml" )
public String myMethodNameHere(){
return getSomeXml();
}
如果您正在使用注釋,則可以執行此操作
@Get("txt")
public Representation get() {
setStatus(Status.SUCCESS_OK);
return new StringRepresentation("Hi");
}
請參閱Get和MetadataService 。
從我之前寫的一些代碼中復制這個,不知道自從以后事情是否發生了變化:
Representation representation = new StringRepresentation(body, MediaType.TEXT_PLAIN);
representation.setCharacterSet(CharacterSet.UTF_8);
return representation;
根據您的需要,還有MediaType.TEXT_XML
“啊哈!” 這里,函數必須返回一個Representation()。
這將在大多數時間工作,但在某些瀏覽器中它將返回404內容。
getResponse().setEntity(rep);
getResponse().getEntity().setModificationDate(date);
getResponse().setStatus(Status.SUCCESS_OK);
這將顯示內容和200狀態代碼:
getResponse().setEntity(rep);
getResponse().getEntity().setModificationDate(date);
getResponse().setStatus(Status.SUCCESS_OK);
return rep;
注釋對我不起作用。 我明確設置了內容類型。
@Get
public Representation represent() {
StringRepresentation sr = new StringRepresentation("xml string..");
sr.setMediaType(MediaType.APPLICATION_XML);
return sr;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.