当前位置: 首页 > 知识库问答 >
问题:

Spring RestController在出现错误时返回ResponseEntity

富建章
2023-03-14

我在Spring Boot服务中有一个rest控制器,如下所示:

我可以让服务生成八位元组流和application/Json,但我的困惑在于出现错误时字节数组的返回类型,在这种情况下,我希望生成Json而不是字节数组

请给我出主意如何解决这个问题

共有1个答案

鄂坚
2023-03-14

添加ControllerAdvise来处理RestContoller中引发的异常。

@ControllerAdvice
public class CustomExceptionHandler extends ResponseEntityExceptionHandler{


    @ExceptionHandler(MyException.class)
    @ResponseStatus(HttpStatus.CONFLICT) //Just an example code
    public ResponseEntity<GeneralMessage> handleGacaException(MyException ex) {
        LOGGER.error(ex.getMessage());
        GeneralMessage errorMessage = new GeneralMessage(ex.getErrorCode().toString(), ex.getErrorMessage());

        return ResponseEntity.status(HttpStatus.CONFLICT).body(errorMessage);
    }


}

在RESTController上抛出MyException

 类似资料:
  • 我们正在尝试从一个“SecKey”创建一个“SecKey”。der文件。但是' SecKeyCreateWithData '总是抛出' Nil '错误。
 遵循的步骤: 首先,我们创建了一个 ECDSA 私有 用于生成私有命令 OpenSSL EC param-genkey-name prime 256 v1-no out EC-key-pair . PEM openssl ec-in ec密钥对

  • 我正在用Python作为后端编写一个应用程序,当我试图返回一个函数的变量时,我得到以下错误 这是我使用的代码 有人知道这个问题的答案吗?

  • 我正在创建一个程序,用户(教师)在其中输入一组百分比分数,并对这些分数进行分析,输出框打印出平均值、最小值/最大值、范围和“R级”、“1级”、“2级”等分数。 我面临的问题是将分数分为不同级别的方法。当我尝试将数组返回到main方法,并尝试将其打印到输出时,我得到了一个数组错误,即“找不到符号” 因此,当我使用主方法打印所有信息时,我应该将levelCount数组放入另一个数组中,我做到了。以下是

  • 我正在尝试在Spring Boot应用程序中配置Spring Security性。在另一边,Angular正在运行。联系地址时 I get error 403我重读了一堆类似的问题。答案在任何地方都是一样的。错误通过添加来处理 csrf在我的配置中被禁用,它写在SecurityConfig类中。 还有什么问题?链接到此处项目的存储库 日志文件非常大,所以我抛出了一个指向日志的链接 log Spri

  • 基类控制器里有error方法,用于api的错误消息返回输出 /** * 操作错误跳转的快捷方法 * @access protected * @param mixed $msg 提示信息,若要指定错误码,可以传数组,格式为['code'=>您的错误码,'msg'=>'您的错误消息'] * @param mixed $data 返回的数据 * @par