【问题标题】:Reserved word in restler 3?restler 3中的保留字?
【发布时间】:2013-03-17 10:17:34
【问题描述】:

我对使用可选参数和 phpdocs 有点困惑。 我得到了以下@url 声明:

@url GET /pruefvorschrift/:typs

现在想将 :typs 设置为可选,所以我这样做了

function getpruefvorschrift ($typs=null) {...

这不起作用,$typs 中永远不会提供 :typs 的值。 如果我将上面的@url rout 更改为使用其他词,例如: 有效吗?

我不明白有人可以帮忙吗?

为了完整性: 我在这个文件中有很多函数

get /device.json/{id}

get /device/pruefvorschrift/:typs.json

get /device/serial.json/{serial}

get /device/:id/merkmale.json

希望有人能帮忙,

谢谢 英格

【问题讨论】:

    标签: restler


    【解决方案1】:

    参数名不是这里的问题!

    强烈建议不要在 URL 中使用可选参数

    通过为 $typs 设置默认值,您将其设为可选

    这意味着我们需要为同一个 api 方法创建两条路由

    GET /device/pruefvorschrift/{typs}
    

    GET /device/pruefvorschrift
    

    默认情况下restler 3不这样做,而restler 2默认情况下这样做

    您可以将以下内容添加到 phpdoc 注释中以更改该行为

    /**
    * @smart-auto-routing false
    */
    function getpruefvorschrift ($typs=null) {
    

    但请记住,这可能会妨碍另一条路线,请在 http://restler3.luracast.com/examples/_006_routing/readme.htmlhttps://github.com/Luracast/Restler/issues/10 进一步阅读

    【讨论】:

    • 谢谢。成功了吗:)
    • 还有一个问题。如果您说强烈建议不要使用可选参数,您将如何解决?谢谢你的提示
    • 可选参数?使用查询字符串,需要简单类型的参数(字符串、数字等)?把它放在url中,复杂类型(数组或对象)如果使用http GET或DELETE唯一方法是查询字符串,否则通过BODY发送
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    相关资源
    最近更新 更多