spring-boot - 无法从 Restcontroller 移除 stackTrace。只是想要响应体而不是获得不必要的 stackTrace
问题描述
{
"cause": null,
"stackTrace": [
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "saveOrder",
"fileName": "OrderServiceImp.java",
"lineNumber": 21,
"className": "com.nextnepal.justnep.service.orderService.OrderServiceImp",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "placeOrder",
"fileName": "OrderController.java",
"lineNumber": 23,
"className": "com.nextnepal.justnep.controller.order.OrderController",
"nativeMethod": false
},
{
"classLoaderName": null,
"moduleName": "java.base",
"moduleVersion": "11.0.4",
"methodName": "invoke0",
"fileName": "NativeMethodAccessorImpl.java",
"lineNumber": -2,
"className": "jdk.internal.reflect.NativeMethodAccessorImpl",
"nativeMethod": true
},
{
"classLoaderName": null,
"moduleName": "java.base",
"moduleVersion": "11.0.4",
"methodName": "invoke",
"fileName": "NativeMethodAccessorImpl.java",
"lineNumber": 62,
"className": "jdk.internal.reflect.NativeMethodAccessorImpl",
"nativeMethod": false
},
{
"classLoaderName": null,
"moduleName": "java.base",
"moduleVersion": "11.0.4",
"methodName": "invoke",
"fileName": "DelegatingMethodAccessorImpl.java",
"lineNumber": 43,
"className": "jdk.internal.reflect.DelegatingMethodAccessorImpl",
"nativeMethod": false
},
{
"classLoaderName": null,
"moduleName": "java.base",
"moduleVersion": "11.0.4",
"methodName": "invoke",
"fileName": "Method.java",
"lineNumber": 566,
"className": "java.lang.reflect.Method",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doInvoke",
"fileName": "InvocableHandlerMethod.java",
"lineNumber": 190,
"className": "org.springframework.web.method.support.InvocableHandlerMethod",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invokeForRequest",
"fileName": "InvocableHandlerMethod.java",
"lineNumber": 138,
"className": "org.springframework.web.method.support.InvocableHandlerMethod",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invokeAndHandle",
"fileName": "ServletInvocableHandlerMethod.java",
"lineNumber": 106,
"className": "org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invokeHandlerMethod",
"fileName": "RequestMappingHandlerAdapter.java",
"lineNumber": 888,
"className": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "handleInternal",
"fileName": "RequestMappingHandlerAdapter.java",
"lineNumber": 793,
"className": "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "handle",
"fileName": "AbstractHandlerMethodAdapter.java",
"lineNumber": 87,
"className": "org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doDispatch",
"fileName": "DispatcherServlet.java",
"lineNumber": 1040,
"className": "org.springframework.web.servlet.DispatcherServlet",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doService",
"fileName": "DispatcherServlet.java",
"lineNumber": 943,
"className": "org.springframework.web.servlet.DispatcherServlet",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "processRequest",
"fileName": "FrameworkServlet.java",
"lineNumber": 1006,
"className": "org.springframework.web.servlet.FrameworkServlet",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doPost",
"fileName": "FrameworkServlet.java",
"lineNumber": 909,
"className": "org.springframework.web.servlet.FrameworkServlet",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "service",
"fileName": "HttpServlet.java",
"lineNumber": 660,
"className": "javax.servlet.http.HttpServlet",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "service",
"fileName": "FrameworkServlet.java",
"lineNumber": 883,
"className": "org.springframework.web.servlet.FrameworkServlet",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "service",
"fileName": "HttpServlet.java",
"lineNumber": 741,
"className": "javax.servlet.http.HttpServlet",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "internalDoFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 231,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 166,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "WsFilter.java",
"lineNumber": 53,
"className": "org.apache.tomcat.websocket.server.WsFilter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "internalDoFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 193,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 166,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilterInternal",
"fileName": "RequestContextFilter.java",
"lineNumber": 100,
"className": "org.springframework.web.filter.RequestContextFilter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "OncePerRequestFilter.java",
"lineNumber": 119,
"className": "org.springframework.web.filter.OncePerRequestFilter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "internalDoFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 193,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 166,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilterInternal",
"fileName": "FormContentFilter.java",
"lineNumber": 93,
"className": "org.springframework.web.filter.FormContentFilter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "OncePerRequestFilter.java",
"lineNumber": 119,
"className": "org.springframework.web.filter.OncePerRequestFilter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "internalDoFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 193,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 166,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilterInternal",
"fileName": "CharacterEncodingFilter.java",
"lineNumber": 201,
"className": "org.springframework.web.filter.CharacterEncodingFilter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "OncePerRequestFilter.java",
"lineNumber": 119,
"className": "org.springframework.web.filter.OncePerRequestFilter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "internalDoFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 193,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doFilter",
"fileName": "ApplicationFilterChain.java",
"lineNumber": 166,
"className": "org.apache.catalina.core.ApplicationFilterChain",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invoke",
"fileName": "StandardWrapperValve.java",
"lineNumber": 202,
"className": "org.apache.catalina.core.StandardWrapperValve",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invoke",
"fileName": "StandardContextValve.java",
"lineNumber": 96,
"className": "org.apache.catalina.core.StandardContextValve",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invoke",
"fileName": "AuthenticatorBase.java",
"lineNumber": 526,
"className": "org.apache.catalina.authenticator.AuthenticatorBase",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invoke",
"fileName": "StandardHostValve.java",
"lineNumber": 139,
"className": "org.apache.catalina.core.StandardHostValve",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invoke",
"fileName": "ErrorReportValve.java",
"lineNumber": 92,
"className": "org.apache.catalina.valves.ErrorReportValve",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "invoke",
"fileName": "StandardEngineValve.java",
"lineNumber": 74,
"className": "org.apache.catalina.core.StandardEngineValve",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "service",
"fileName": "CoyoteAdapter.java",
"lineNumber": 343,
"className": "org.apache.catalina.connector.CoyoteAdapter",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "service",
"fileName": "Http11Processor.java",
"lineNumber": 408,
"className": "org.apache.coyote.http11.Http11Processor",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "process",
"fileName": "AbstractProcessorLight.java",
"lineNumber": 66,
"className": "org.apache.coyote.AbstractProcessorLight",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "process",
"fileName": "AbstractProtocol.java",
"lineNumber": 861,
"className": "org.apache.coyote.AbstractProtocol$ConnectionHandler",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "doRun",
"fileName": "NioEndpoint.java",
"lineNumber": 1579,
"className": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "run",
"fileName": "SocketProcessorBase.java",
"lineNumber": 49,
"className": "org.apache.tomcat.util.net.SocketProcessorBase",
"nativeMethod": false
},
{
"classLoaderName": null,
"moduleName": "java.base",
"moduleVersion": "11.0.4",
"methodName": "runWorker",
"fileName": "ThreadPoolExecutor.java",
"lineNumber": 1128,
"className": "java.util.concurrent.ThreadPoolExecutor",
"nativeMethod": false
},
{
"classLoaderName": null,
"moduleName": "java.base",
"moduleVersion": "11.0.4",
"methodName": "run",
"fileName": "ThreadPoolExecutor.java",
"lineNumber": 628,
"className": "java.util.concurrent.ThreadPoolExecutor$Worker",
"nativeMethod": false
},
{
"classLoaderName": "app",
"moduleName": null,
"moduleVersion": null,
"methodName": "run",
"fileName": "TaskThread.java",
"lineNumber": 61,
"className": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable",
"nativeMethod": false
},
{
"classLoaderName": null,
"moduleName": "java.base",
"moduleVersion": "11.0.4",
"methodName": "run",
"fileName": "Thread.java",
"lineNumber": 834,
"className": "java.lang.Thread",
"nativeMethod": false
}
],
"code": 200,
"message": "order successfully submitted",
"suppressed": [],
"localizedMessage": "order successfully submitted"
}
解决方案
我使用 server.error.include-stacktrace=never
推荐阅读
- r - lpsolve/lpsolveAPI 包中是否有一个函数能够删除未满足的约束(在不可行的情况下)?
- typescript - 打字稿防止对超类型的断言
- kotlin - 如何创建 ArgumentMatchers.any(类型:类
) 在 Kotlin 中进行测试? - python - 从 MongoDB 访问嵌套对象值
- python - 在 Django Html 模板中制作音板时遇到问题
- python - 将轴标题添加到 3d 曲面图袖扣和 plotly
- .net-core - 有没有办法为 .NET Core 搭建脚手架测试?
- android - 此商家未启用 google pay
- node.js - 未使用 regedit 将值设置为注册表
- java - jOOQ:从外键获取引用表