1
bigredapple 2014-11-02 21:23:17 +08:00
看 Accept
|
2
abelyao 2014-11-03 00:24:00 +08:00
有一些框架自带了 GET / POST 的判断,
甚至有一些在配置 router 的时候可以指定 GET 和 POST 使用不同的处理方式。 |
3
qiayue 2014-11-03 01:08:09 +08:00
多带一个 format 参数, format 为 html 则输出 html ,为 json 则输出 json
你可以把 html 和 json 当做不同的模板,那么 action 中只需要指定模板为 format 的值即可 另外,可能需要在没有 format 参数是给一个默认值 |
4
chemzqm 2014-11-03 01:35:59 +08:00
根据http规范应该检查accept,考虑到accept是多个值组成的字段,一般是优先输出html然后json。如果你想做框架给别人用的话,最好不要做多余的假定
|
5
virusdefender 2014-11-03 08:36:40 +08:00
|
6
coldwinds 2014-11-03 12:48:28 +08:00
negotiation
|
7
yakczh OP $app->path('posts', function($request) use($app) {
$app->get(function($request, $postId) use($app) { // Prepare your data ONCE $data = array( array('title' => 'Foo', 'author' => 'Calvin'), array('title' => 'Bar', 'author' => 'Hobbes') ); // Respond in multiple formats $app->format('json', function($request) use($app, $data) { return $data; }); $app->format('html', function($request) use($app, $data) { return $app->template('posts', $data); }); }); }); 这种写法感觉比较丑 |