2

Restlet (Google アプリ エンジンのバージョン 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);

4

5 に答える 5

8

私が知らないGAEスタイルの何かがない限り、それはそれほど複雑である必要はないと思います。これは私のために働きます:

 @Get( value = "xml" )
 public String myMethodNameHere(){
    return getSomeXml();
 }
于 2011-06-07T00:05:30.833 に答える
5

アノテーションを使用している場合は、次のことができます

@Get("txt")
public Representation get() {

    setStatus(Status.SUCCESS_OK);

    return new StringRepresentation("Hi");
 }

GetおよびMetadataServiceを参照してください。

于 2010-06-12T01:35:31.177 に答える
3

少し前に書いたコードからこれをコピーしますが、その後変更されたかどうかはわかりません。

Representation representation = new StringRepresentation(body, MediaType.TEXT_PLAIN);
representation.setCharacterSet(CharacterSet.UTF_8);
return representation;

必要に応じて、MediaType.TEXT_XMLもあります

于 2010-06-12T00:34:08.377 に答える
1

注釈は私にはうまくいきませんでした。コンテンツ タイプを明示的に設定しました。

@Get
public Representation represent() {
    StringRepresentation sr = new StringRepresentation("xml string..");
    sr.setMediaType(MediaType.APPLICATION_XML);
    return sr;
}
于 2012-10-24T15:30:28.230 に答える
1

「あはは!」ここで、関数は Representation() を返さなければならないということです。

Thie はほとんどの場合機能しますが、特定のブラウザではコンテンツとともに 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;
于 2012-04-19T12:42:19.947 に答える