All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.icodegarden.nursery.springboot.web.reactive.handler.ReactiveNativeRestApiExceptionHandler Maven / Gradle / Ivy

There is a newer version: 3.1.0
Show newest version
package io.github.icodegarden.nursery.springboot.web.reactive.handler;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.ServerWebInputException;

import io.github.icodegarden.nutrient.lang.spec.response.ErrorCodeException;

/**
 * 使用 @Bean
 * 
 * @author Fangfang.Xu
 *
 */
public class ReactiveNativeRestApiExceptionHandler extends AbstractReactiveExceptionHandler {

	private static final Logger log = LoggerFactory.getLogger(ReactiveNativeRestApiExceptionHandler.class);

	@Override
	public ResponseEntity onServerWebInputException(ServerWebExchange exchange, ServerWebInputException cause)
			throws Exception {
		if (log.isWarnEnabled()) {
			log.warn("{}", PARAMETER_INVALID_LOG_MODULE, cause);
		}
		return ResponseEntity.status(400).body("Missing Path Variable:" + cause.getReason());
	}

	@Override
	public ResponseEntity onException(ServerWebExchange exchange, Exception cause) {
		ErrorCodeException ece = convertErrorCodeException(cause);

		return ResponseEntity.status(ece.httpStatus()).body(ece.getMessage());
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy