怎么玩!提供XML响应的框架

 mobiledu2502894753 发布于 2023-02-13 14:56

不知何故,我无法弄清楚如何玩!提供XML响应.我也不了解文档(你可以在这里找到).

我的目标是创建一个站点地图,因此响应应该是一个 Content-Type: application/xml;

如何更改以下控制器以提供Content-Type?

public static Result sitemap() {
    return ok("Hello Paul");
}

biesior.. 12

Content-type如果您将以ok()正确的方式将其传递给方法,则播放将正确设置标题.举个例子,如果你要回来String(正如你所说的那样)它会考虑那个text/plain.你有至少2种方式,最快(但很难看)是强制内容类型,Jürgen建议将其设置为响应,但事实上Play有一个快捷方式:

public static Result sitemap() {
    return ok("Hello Paul").as("text/xml");
}

另一方面,使用XML模板可能比使用粘合字符串构建它更好,更清晰...只需创建XML文件:

/app/views/sitemap.scala.xml:

John Doe

所以你可以像使用它一样简单:

public static Result index() {
    return ok(views.xml.sitemap.render());
}

当然这个文件是Play的常用模板,因此您可以将数据传递给它并在内部进行处理(即迭代项目列表等)

1 个回答
  • Content-type如果您将以ok()正确的方式将其传递给方法,则播放将正确设置标题.举个例子,如果你要回来String(正如你所说的那样)它会考虑那个text/plain.你有至少2种方式,最快(但很难看)是强制内容类型,Jürgen建议将其设置为响应,但事实上Play有一个快捷方式:

    public static Result sitemap() {
        return ok("<message status=\"OK\">Hello Paul</message>").as("text/xml");
    }
    

    另一方面,使用XML模板可能比使用粘合字符串构建它更好,更清晰...只需创建XML文件:

    /app/views/sitemap.scala.xml:

    <message status="OK">John Doe</message>
    

    所以你可以像使用它一样简单:

    public static Result index() {
        return ok(views.xml.sitemap.render());
    }
    

    当然这个文件是Play的常用模板,因此您可以将数据传递给它并在内部进行处理(即迭代项目列表等)

    2023-02-13 14:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有