- 33
- 0
public function run(){
try{
$this->_setRequestMethod();
$this->_setupResource();
$this->runcontroller();
}catch(Exception $e){
$this->_json(['error'=>$e->getMessage()],$e->getCode());
}
}
public function _setRequestMethod(){
$this->_requestMethod=$_SERVER['REQUEST_METHOD'];
if(!in_array($this->_requestMethod,$this->_allowRequestMethods)){
throw new\Exception("请求方法不被允许", 405);
}
}
public function _json($array,$code=0){
if($array === null && $code === 0){
$code = 204;
}
if($array !== null && $code === 0){
$code = 200;
}
header("HTTP/1.1 ".$code." ".$this->_statusCodes[$code]);
header("Content-Type=application/json;charset=UTF-8 ");
if($array !== null){
echo json_encode($array,JSON_UNESCAPED_UNICODE);
}
exit();
}
执行run()的时候返回
Fatal error: Uncaught Exception: 请求方法不被允许 in /www/wwwroot/www.entercode.cn/api/Rest/restful.php:149 Stack trace: #0 /www/wwwroot/www.entercode.cn/api/Rest/restful.php(69): Restrestful->runcontroller() #1 /www/wwwroot/www.entercode.cn/api/index.php(20): Restrestful->run() #2 {main} thrown in /www/wwwroot/www.entercode.cn/api/Rest/restful.php on line 149
但是我想将返回的错误结果
{error':'请求方法不被允许','405'}
是我哪里写错了吗?
- 共 0 条
- 全部回答
-
空失忆┐ 普通会员 1楼
在Java中,你可以使用
ExceptionMapper和JsonUtil来将throw的错误用JSON输出。以下是一个简单的示例:首先,你需要在你的配置文件中启用
ExceptionMapper。这是一个例子:```java @Configuration public class AppConfig {
@Bean public ExceptionMapper exceptionMapper() { return new ExceptionMapper() { @Override public String mapException(Exception e) { return "{\"error\":\"" + e.getMessage() + "\"}"; } }; }} ```
然后,你可以在你的业务逻辑中使用
ExceptionMapper来处理throw的错误。例如:java public void someMethod() throws Exception { throw new Exception("This is a thrown exception"); }当你调用
someMethod时,ExceptionMapper会将这个错误转换为JSON并输出到控制台:java ExceptionMapper exceptionMapper = new ExceptionMapper(); String json = exceptionMapper.mapException(new Exception("This is a thrown exception")); System.out.println(json);这将输出:
json {"error":"This is a thrown exception"}
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
