CustomErrorAttributes
Jorge
java
2 years ago
1.4 kB
3
Indexable
Never
package es.company.app.error; import org.springframework.boot.web.servlet.error.DefaultErrorAttributes; import org.springframework.stereotype.Component; import org.springframework.web.context.request.WebRequest; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; @Component public class CustomErrorAttributes extends DefaultErrorAttributes { private static final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); @Override public Map<String, Object> getErrorAttributes(WebRequest webRequest, boolean includeStackTrace) { // Let Spring handle the error first, we will modify later :) Map<String, Object> errorAttributes = super.getErrorAttributes(webRequest, includeStackTrace); // format & update timestamp Object timestamp = errorAttributes.get("timestamp"); if (timestamp == null) { errorAttributes.put("timestamp", dateFormat.format(new Date())); } else { errorAttributes.put("timestamp", dateFormat.format((Date) timestamp)); } // insert a new key errorAttributes.put("message", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); errorAttributes.put("fields", "foo, bar"); return errorAttributes; } }