ホームページ  >  記事  >  Java  >  Springboot2.0でカスタム例外を処理してjsonを返す方法

Springboot2.0でカスタム例外を処理してjsonを返す方法

王林
王林転載
2023-05-10 22:19:101352ブラウズ

1. カスタム例外クラスを作成します

package cn.jfjb.crud.exception;

public class UserNotExistException extends RuntimeException {
  public UserNotExistException() {
    super("用户不存在");
  }
}

2. セルフテスト例外を処理します

package cn.jfjb.crud.handler;

import cn.jfjb.crud.exception.UserNotExistException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.Map;


@ControllerAdvice
public class MyExceptionHandler {

  @ResponseBody
  @ExceptionHandler(UserNotExistException.class)
  public Map<string> handleException(Exception e) {
    Map<string> map = new HashMap();
    map.put("code", "user.notexist");
    map.put("message", e.getMessage());
    return map;
  }
}</string></string>

3. application.yml ファイルを設定します (設定しないと例外を取得できません)

server:
 error:
  include-exception: true

4. テストを作成します

package cn.jfjb.crud.controller;

import cn.jfjb.crud.exception.UserNotExistException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


@Controller
public class HelloController {
  
  @RequestMapping({"/testException"})
  public String testException(@RequestParam("user") String user) {
    if (user != "aaa") {
      throw new UserNotExistException();
    }
    return "index";
  }
}

Springboot2.0でカスタム例外を処理してjsonを返す方法

Springboot2.0でカスタム例外を処理してjsonを返す方法#

以上がSpringboot2.0でカスタム例外を処理してjsonを返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。