在REST DataSnap中键入响应

我有一个由WebBroker REST的项目,作为服务运行,我需要将Cotent-Type响应更改为application/json ,默认情况下, WebBroker REST为我带来了

Content-Type'text / html; 字符集= ISO-8859-1'

我通过访问该方法来更改响应

GetInvocationMetadata(True).ResponseContentType ='application / json'

Data.DBXPlatform类,但它仍然不能解决它,它会添加另一个Content-Type在当前的下面。

这只发生在WebBroker REST ,如果我通过DataSnap Server创建项目,我通常会得到它。 但是我需要WebBroker REST来访问客户端发送给我的信息。

如何发生问题的示例。

  • DataSnap REST Application创建项目
  • 在ServerMethods类中,执行相同的模型。

    uses System.StrUtils, Data.DBXPlatform;
    
    function TServerMethods1.EchoString(Value: string): string;
    begin
      Result := Value;
      GetInvocationMetadata.ResponseContentType := 'application/json';
    end;
    

    示例响应标题。

    连接:关闭
    内容类型:text / html; 字符集= ISO-8859-1
    内容长度:25
    日期:2013年9月10日星期二16:41:37 GMT
    Pragma:dssession = 542354.126073.592372,dssessionexpires = 1200000
    内容类型:application / json


    在新的DataSnap WebBroker应用程序向导中,您可以选择创建单独的服务器模块。 在生成的单元WebModuleUnit1.pas中有一个变量WebModuleClass,它是TWebModule的后代。 此WebModuleClass对象具有TWebResponse类型的公共属性Response,它使您可以设置ContentType。

    http://docwiki.embarcadero.com/Libraries/Berlin/en/Web.HTTPApp.TWebResponse.ContentType

    链接地址: http://www.djcxy.com/p/8437.html

    上一篇: Type response in the REST DataSnap

    下一篇: What does a Ajax call response like 'for (;;); { json data }' mean?