[英]Spring JsonExceptionMapper ExceptionMapper handling.
啟動服務器時,在weblogic控制台中出現以下錯誤。
嚴重:缺少參數索引0的構造函數public com.test.mine.exception.JsonExceptionMapper(java.lang.String,com.fasterxml.jackson.core.JsonLocation)的依賴性嚴重:缺少構造函數public com.test.mine的依賴性。參數索引1處的exception.JsonExceptionMapper(java.lang.String,com.fasterxml.jackson.core.JsonLocation)
以下是我的Java代碼。
package com.test.mine.exception;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.core.JsonLocation;
import com.fasterxml.jackson.core.JsonParseException;
@Provider
@Service
public class JsonExceptionMapper extends JsonParseException implements ExceptionMapper {
public JsonExceptionMapper(String msg, JsonLocation loc) {
super(msg, loc);
// TODO Auto-generated constructor stub
}
private static final Logger LOGGER = LoggerFactory.getLogger(JsonExceptionMapper.class);
protected Logger getLogger() {
return LOGGER;
}
public Status getStatus(JsonParseException thr) {
return Status.BAD_REQUEST;
}
@Override
public Response toResponse(Throwable arg0) {
// TODO Auto-generated method stub
return Response.status(Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON_TYPE).build();
}
}
注釋@Service告訴spring創建帶注釋的類的單例。 在啟動時,spring嘗試創建該實例並提供所需的構造函數args String msg,它找不到的JsonLocation loc,因此是異常。
JsonExceptionMapper看起來不像服務,並且不應是單例。 相反,無論何時創建異常,都必須創建它。 我從來沒有在那堂課上工作過,很抱歉,不能為您提供任何建議。
在配置swagger以與Jersey合作時,我遇到了類似的問題。 在搜索各種論壇后發現,Jersey掃描需要沒有參數的構造函數。 我添加了一個構造函數,它對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.