parent
7754b775cd
commit
b0080b6547
|
@ -164,7 +164,10 @@ public enum ErrorCode {
|
|||
* The Err untrusttoken.
|
||||
*/
|
||||
ERR_UNTRUSTTOKEN(38, "未经授权的Token"),
|
||||
|
||||
/**
|
||||
* Err unknowninterface error code.
|
||||
*/
|
||||
ERR_UNKNOWNINTERFACE(39, "未提供该接口"),
|
||||
/**
|
||||
* The Err decrypt base 64.
|
||||
*/
|
||||
|
@ -269,6 +272,7 @@ public enum ErrorCode {
|
|||
case ERR_INPUTMISS:
|
||||
return HttpServletResponse.SC_BAD_REQUEST;
|
||||
case ERR_UNSUPPORT:
|
||||
case ERR_UNKNOWNINTERFACE:
|
||||
return HttpServletResponse.SC_METHOD_NOT_ALLOWED;
|
||||
default:
|
||||
return HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
package com.dispose.controller;
|
||||
|
||||
import com.dispose.common.ErrorCode;
|
||||
import com.dispose.exception.ControllerNotSupportException;
|
||||
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||
import org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController;
|
||||
import org.springframework.boot.web.servlet.error.DefaultErrorAttributes;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* The type Error controller.
|
||||
*
|
||||
* @author <huangxin@cmhi.chinamoblie.com>
|
||||
*/
|
||||
@Controller
|
||||
public class ErrorController extends BasicErrorController {
|
||||
/**
|
||||
* Instantiates a new Error controller.
|
||||
*
|
||||
* @param serverProperties the server properties
|
||||
*/
|
||||
public ErrorController(ServerProperties serverProperties) {
|
||||
super(new DefaultErrorAttributes(), serverProperties.getError());
|
||||
}
|
||||
|
||||
/**
|
||||
* Error response entity.
|
||||
*
|
||||
* @param request the request
|
||||
* @return the response entity
|
||||
*/
|
||||
@Override
|
||||
public ResponseEntity<Map<String, Object>> error(HttpServletRequest request) {
|
||||
HttpStatus status = getStatus(request);
|
||||
|
||||
if (status.value() == HttpServletResponse.SC_NOT_FOUND) {
|
||||
throw new ControllerNotSupportException(ErrorCode.ERR_UNKNOWNINTERFACE);
|
||||
}
|
||||
|
||||
return super.error(request);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package com.dispose.exception;
|
||||
|
||||
import com.dispose.common.ErrorCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* The type Controller not support exception.
|
||||
*
|
||||
* @author <huangxin@cmhi.chinamoblie.com>
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class ControllerNotSupportException extends RuntimeException {
|
||||
/**
|
||||
* The Err.
|
||||
*/
|
||||
private ErrorCode err;
|
||||
|
||||
/**
|
||||
* Instantiates a new Security protocol exception.
|
||||
*
|
||||
* @param err the err
|
||||
*/
|
||||
public ControllerNotSupportException(ErrorCode err) {
|
||||
super();
|
||||
this.err = err;
|
||||
}
|
||||
}
|
|
@ -61,6 +61,10 @@ public class GlobalExceptionHandler {
|
|||
return ProtocolRespDTO.result(ErrorCode.ERR_PARAMEXCEPTION,
|
||||
ErrorCode.ERR_PARAMEXCEPTION.getHttpCode(),
|
||||
new String[]{((SecurityProtocolException) ex).getErr().getMsg()});
|
||||
} else if (ex instanceof ControllerNotSupportException) {
|
||||
return ProtocolRespDTO.result(ErrorCode.ERR_PARAMEXCEPTION,
|
||||
ErrorCode.ERR_PARAMEXCEPTION.getHttpCode(),
|
||||
new String[]{((ControllerNotSupportException) ex).getErr().getMsg()});
|
||||
} else {
|
||||
return ProtocolRespDTO.result(ErrorCode.ERR_PARAMEXCEPTION,
|
||||
ErrorCode.ERR_PARAMEXCEPTION.getHttpCode(),
|
||||
|
|
Loading…
Reference in New Issue