gpt4 book ai didi

java - 提供 JSON 的错误处理

转载 作者:行者123 更新时间:2023-12-03 08:52:56 28 4
gpt4 key购买 nike

我正在尝试创建一个简单的错误处理项目,它会在收到错误(例如 404、422 或 500)后为 JSON 提供错误数据。我使用来自 this 的代码网站,但它不适合我。

我实际上有这两个类:

基本 Controller 类(class)

package com.mycompany.jsonerrorhandler;

import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.servlet.ModelAndView;


/**
* Class to catch all exception
*/
public class BasicController
{
@ExceptionHandler (Exception.class)
@ResponseStatus (HttpStatus.INTERNAL_SERVER_ERROR)
public ModelAndView handleAllExceptions(Exception ex)
{
return new JsonError(ex.getMessage()).asModelAndView();
}
}

JsonError 类(class)
package com.mycompany.jsonerrorhandler;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.json.MappingJacksonJsonView;
import com.google.common.collect.ImmutableMap;

/**
* Class that defines what JSON Error looks like
*/
public class JsonError
{
private final String message;

public JsonError(String message)
{
this.message = message;
}

public ModelAndView asModelAndView()
{
MappingJacksonJsonView jsonView = new MappingJacksonJsonView();
return new ModelAndView(jsonView, ImmutableMap.of("error", message));
}
}

我想知道我需要什么来连接它们并接收 JSON(或者这个问题可能有其他解决方案)。

最佳答案

根据您提供的类似内容,JsonError 类应包含以下内容:

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.json.MappingJacksonJsonView;
import com.google.common.collect.ImmutableMap;

public class JsonError
{
private final String message;

public JsonError(String message) {
this.message = message;
}

public ModelAndView asModelAndView() {
MappingJacksonJsonView jsonView = new MappingJacksonJsonView();
return new ModelAndView(jsonView, ImmutableMap.of("error", message));
}
}

关于java - 提供 JSON 的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35988155/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com