1,git最新的代码。

2,把api文件夹中所有的文件都删除。

3,建立php文件。application/api/controller/v1/Banner.php<?php

use think\Validate;

/**

* 横幅控制器类

* @author 且听风吟

* @date 2018-04-02

*/

class Banner{

/**

* 根据id获得横幅

* @access public

* @param int $id banner的id号

* @return json $banner

*/

public function getBanner($id)

{

//独立验证

$data = [

'name' => 'vendo',

'email' => 'vendor.com'

];

$validate = new Validate([

'name' => 'require|max:10',

'email' => 'email'

]);

$result = $validate->betch()->check($data);

var_dump($validate->getError());

}

}

4,在route文件中添加对应的路由。use think\Route;

Route::get('api/v1/banner/:id','api/v1/Banner/getBanner');

5,访问页面这个地址的时候

上面的代码没有通过验证,应该报出异常,但是返回的是一个html的页面。

b865637a4c37d63162322ad95d0a68d2.png

6,调试的时候发现,程序到达代码$result = $validate->betch()->check($data);

直接报出异常

个人感觉是个bug。因为api即使是错误异常,返回值也应该是json。应该是在哪里对异常进行了拦截。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐