Spring Boot 2.1 MVC Logging - spring-boot

Upgrading Spring Boot 2.1.x from 2.0.x, not logging MVC mapping logs..
Spring Boot 2.0.x logs MVC Mapping at INFO level, it was very convinient and easily identifiable logs.
**Spring Boot 2.0.x**
2019-01-24 20:10:11.165 INFO [ main] s.w.s.m.m.a.RequestMappingHandlerMapping Mapped "{[/mapping2],methods=[GET]}" onto public java.lang.String com.test.controller.ControllerClass.method2()
2019-01-24 20:10:11.167 INFO [ main] s.w.s.m.m.a.RequestMappingHandlerMapping Mapped "{[/mapping1],methods=[GET]}" onto public java.lang.String com.test.controller.ControllerClass.method1()
As per Spring Boot 2.1.x documentation,
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.1-Release-Notes#logging-refinements
There are no Info logs for MVC Mapping. Only summary logged as debug log.
We have to update level to TRACE to get more details.
**Spring Boot 2.0.x**
2019-01-24 20:16:08.549 TRACE 2516 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping :
c.t.c.ControllerClass:
{GET /mapping1}: method1()
{GET /mapping2}: method2()
2019-01-24 20:16:08.554 TRACE 2516 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping :
o.s.b.a.w.s.e.BasicErrorController:
{ /error}: error(HttpServletRequest)
{ /error, produces [text/html]}: errorHtml(HttpServletRequest,HttpServletResponse)
2019-01-24 20:16:08.560 DEBUG 2516 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : 4 mappings in 'requestMappingHandlerMapping'
2019-01-24 20:16:08.584 DEBUG 2516 --- [ main] o.s.w.s.h.BeanNameUrlHandlerMapping : Detected 0 mappings in 'beanNameHandlerMapping'
By updating web log level to DEBUG or TRACE, We get more debug logs from Spring Web and they are not useful always. Unless, TRACE level, they are not much meaningful.
2019-01-24 20:39:59.767 TRACE 2516 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/mapping1", parameters={}, headers={masked} in DispatcherServlet 'dispatcherServlet'
2019-01-24 20:39:59.768 TRACE 2516 --- [nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public java.lang.String com.test.controller.ControllerClass.method1()
2019-01-24 20:39:59.769 TRACE 2516 --- [nio-8080-exec-5] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: []
2019-01-24 20:39:59.771 DEBUG 2516 --- [nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Using 'text/html', given [text/html, application/xhtml+xml, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8] and supported [text/plain, */*, text/plain, */*, application/json, application/*+json, application/json, application/*+json]
2019-01-24 20:39:59.771 TRACE 2516 --- [nio-8080-exec-5] m.m.a.RequestResponseBodyMethodProcessor : Writing ["Method1"]
2019-01-24 20:39:59.776 TRACE 2516 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : No view rendering, null ModelAndView returned.
2019-01-24 20:39:59.777 DEBUG 2516 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK, headers={masked}
Is it possible to get Spring log information ? and How ?

From Spring Boot 2.1 version to get RequestMappingHandlerMapping log on console try add
logging.level.org.springframework.web=trace
on application.properties file
It worked for me

Related

SpringBoot RestApi call 404 Not Found error

I have a SpringBoot application that I am able to start ( http://localhost:80 ).
In my application.yml :
application:
baseurl: /respViewer/api
In my application I defined a #RestController and an endpoint :
#RestController
#RequestMapping("${application.baseurl}/viewer")
....
#PostMapping(value = "/getRespList", consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> getResponsibilities(#RequestBody RequestDetail requestDetail)
When I try to access my application using Insomnia or through the Browser I am getting 404 Error.
http://localhost:8080/respViewer/api/viewer/getRespList
{
"timestamp": "2022-04-25T19:52:32.426+00:00",
"status": 404,
"error": "Not Found",
"message": "",
"path": "/respViewer/api/viewer/getRespList"
}
I also checked console output and found these messages :
POST "/respViewer/api/viewer/getRespList", parameters={}
2022-04-25 15:52:32.253 DEBUG 3744 --- [nio-8080-exec-1] o.s.w.s.h.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/", "/"]
2022-04-25 15:52:32.382 DEBUG 3744 --- [nio-8080-exec-1] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found
2022-04-25 15:52:32.387 DEBUG 3744 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Completed 404 NOT_FOUND
What am I doing wrong?
Update 1 :
I added packages location where I have a REST Controller to application.yml :
spring:
component:
scan:
packages: com.example.demoRespManager
and now I am not getting 404 Error, however it doesn't look like I am getting into the body of implementation method. I setup a break-point in the first line of the method but never stop there. An output in the Console is :
2022-04-25 21:25:43.749 INFO 27996 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2022-04-25 21:25:43.750 DEBUG 27996 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Detected StandardServletMultipartResolver
2022-04-25 21:25:43.915 DEBUG 27996 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data
2022-04-25 21:25:43.915 INFO 27996 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Completed initialization in 166 ms
2022-04-25 21:25:44.134 DEBUG 27996 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : POST "/respViewer/api/viewer/getRespList", parameters={}
2022-04-25 21:25:44.180 DEBUG 27996 --- [nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using #ExceptionHandler com.<my_package_path>.exception.ApplicationExceptionHandler#handleException(Exception, WebRequest)
2022-04-25 21:25:44.254 DEBUG 27996 --- [nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : No match for [application/json], supported: []
2022-04-25 21:25:44.261 DEBUG 27996 --- [nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type '' not supported]
2022-04-25 21:25:44.262 DEBUG 27996 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Completed 415 UNSUPPORTED_MEDIA_TYPE
UPDATE 2 :
In the Header section of the INSOMNIA application I added Content-type = application/json, since I defined it in my endpoint, and after that it started to work. I was able to start an application in the DEBUG mode and when I made a POST request in INSOMNIA I stopped at the first line of my method implementation.
I solved this issue :
updated my properties file with the list of the packages that contain the beans, it's an equivalent of #ComponentScan in Application ( spring.component.scan.packages )
Added Content-type = application/json to the Header in the Insomnia.

How to make swagger work with Spring boot and ssl?

I have a Spring boot app and I am trying to add swagger to it.
However, after activating SSL, swagger cannot load the resources.
The dependencies I am using in gradle are
implementation("org.springdoc:springdoc-openapi-ui:1.6.6")
implementation("org.springdoc:springdoc-openapi-kotlin:1.6.6")
implementation("org.springdoc:springdoc-openapi-security:1.6.6")
There might be a problem with my HttpSecurityConfig
override fun configure(http: HttpSecurity?) {
http!!.csrf().disable()
.sessionManagement().sessionCreationPolicy(STATELESS)
.and()
.requiresChannel {
it.anyRequest().requiresSecure()
}
.authorizeRequests().antMatchers("auth/refresh")
.permitAll()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.successForwardUrl("/home")
.and()
.addFilter(CustomAuthenticationManager(authenticationManagerBean(), jwtService, encoder()))
.addFilterBefore(
JwtAuthenticationFilter(userDetailsService, jwtService, JWT_AUTH_WHITELIST, SWAGGER_WHITELIST_PREFIX),
UsernamePasswordAuthenticationFilter::class.java
)
}
I have tried adding a swagger whitelist or something, but still doesn't resolve the issue.
I have tried configuring web security like that
override fun configure(web: WebSecurity?) {
web!!.ignoring()
// allow anonymous resource requests
.antMatchers(
HttpMethod.GET,
"/",
"/v3/api-docs", // swagger
"/webjars/**", // swagger-ui webjars
"/swagger-resources/**", // swagger-ui resources
"/configuration/**", // swagger configuration
"/*.html",
"/favicon.ico",
"/**/*.html",
"/**/*.css",
"/**/*.js",
"/swagger-ui/"
)
}
but to no avail.
As for the properties that I am using for the ssl config
server.ssl.key-store=classpath:springboot.p12
server.ssl.key-store-password=password
server.ssl.key-store-type=pkcs12
server.ssl.key-password=password
server.ssl.enabled=true
server.port=8443
And the debug message upon every attempt to go to the swagger home page is
2022-03-24 21:14:49.167 INFO 124836 --- [nio-8443-exec-4] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-03-24 21:14:49.167 INFO 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2022-03-24 21:14:49.167 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver
2022-03-24 21:14:49.167 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver
2022-03-24 21:14:49.167 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver
2022-03-24 21:14:49.170 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator#6a175162
2022-03-24 21:14:49.171 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager#6da86e98
2022-03-24 21:14:49.171 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data
2022-03-24 21:14:49.171 INFO 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
2022-03-24 21:14:49.217 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : GET "/swagger-ui/", parameters={}
2022-03-24 21:14:49.240 DEBUG 124836 --- [nio-8443-exec-4] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/webjars/]]
2022-03-24 21:14:49.249 DEBUG 124836 --- [nio-8443-exec-4] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found
2022-03-24 21:14:49.250 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND
2022-03-24 21:14:49.260 DEBUG 124836 --- [nio-8443-exec-4] o.s.security.web.FilterChainProxy : Securing GET /error
2022-03-24 21:14:49.263 DEBUG 124836 --- [nio-8443-exec-4] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [GET /error]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2022-03-24 21:14:49.265 DEBUG 124836 --- [nio-8443-exec-4] s.s.w.c.SecurityContextPersistenceFilter : Set SecurityContextHolder to empty SecurityContext
2022-03-24 21:14:49.268 DEBUG 124836 --- [nio-8443-exec-4] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to anonymous SecurityContext
2022-03-24 21:14:49.269 DEBUG 124836 --- [nio-8443-exec-4] o.s.s.w.session.SessionManagementFilter : Request requested invalid session id 16CDDEC21653310720625F5BEF0EF604
2022-03-24 21:14:49.270 DEBUG 124836 --- [nio-8443-exec-4] o.s.s.w.a.i.FilterSecurityInterceptor : Authorized public object filter invocation [GET /error]
2022-03-24 21:14:49.272 DEBUG 124836 --- [nio-8443-exec-4] o.s.security.web.FilterChainProxy : Secured GET /error
2022-03-24 21:14:49.272 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={}
2022-03-24 21:14:49.277 DEBUG 124836 --- [nio-8443-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest, HttpServletResponse)
2022-03-24 21:14:49.318 DEBUG 124836 --- [nio-8443-exec-4] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, text/html;q=0.8]
2022-03-24 21:14:49.326 DEBUG 124836 --- [nio-8443-exec-4] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 404
2022-03-24 21:14:49.326 DEBUG 124836 --- [nio-8443-exec-4] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request
I have tried following other SO answers, like configuring web mvc configures, adding resource and location handlers, but to no avail. If I switch off the ssl, everything works just fine.
As far as I understand the issue is the access to the internal resources or maybe the path the resources.
Maybe I could bypass it by having it run on a different app?

Unable to fetch the view file

On making a GET Request which returns a ModelAndView Object I am getting the following error
: GET "/tweet2?email=tim#gmail.com", parameters={masked} 2022-03-08
11:04:45.459 DEBUG 46576 --- [nio-8080-exec-3]
s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to
com.example.demo.RestAPIExample#getTweetsByEmail(String) 2022-03-08
11:04:45.464 DEBUG 46576 --- [nio-8080-exec-3]
o.s.w.s.v.ContentNegotiatingViewResolver : Selected '/' given [/]
2022-03-08 11:04:45.464 DEBUG 46576 --- [nio-8080-exec-3]
o.s.w.servlet.view.InternalResourceView : View name 'tweets', model
{tweets=[com.example.demo.Tweet#3a7a85cb]} 2022-03-08 11:04:45.465
DEBUG 46576 --- [nio-8080-exec-3]
o.s.w.servlet.view.InternalResourceView : Forwarding to [tweets]
2022-03-08 11:04:45.467 DEBUG 46576 --- [nio-8080-exec-3]
o.s.web.servlet.DispatcherServlet : "FORWARD" dispatch for GET
"/tweets?email=tim#gmail.com", parameters={masked} 2022-03-08
11:04:45.470 DEBUG 46576 --- [nio-8080-exec-3]
o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to
ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath
[resources/], classpath [static/], classpath [public/], ServletContext
[/]] 2022-03-08 11:04:45.472 DEBUG 46576 --- [nio-8080-exec-3]
o.s.w.s.r.ResourceHttpRequestHandler : Resource not found
2022-03-08 11:04:45.473 DEBUG 46576 --- [nio-8080-exec-3]
o.s.web.servlet.DispatcherServlet : Exiting from "FORWARD"
dispatch, status 404 2022-03-08 11:04:45.473 DEBUG 46576 ---
[nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed
404 NOT_FOUND 2022-03-08 11:04:45.474 DEBUG 46576 ---
[nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : "ERROR"
dispatch for GET "/error?email=tim#gmail.com", parameters={masked}
2022-03-08 11:04:45.475 DEBUG 46576 --- [nio-8080-exec-3]
s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to
org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2022-03-08 11:04:45.482 DEBUG 46576 --- [nio-8080-exec-3]
o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json',
given [/] and supported [application/json, application/+json,
application/json, application/+json] 2022-03-08 11:04:45.483 DEBUG
46576 --- [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor :
Writing [{timestamp=Tue Mar 08 11:04:45 IST 2022, status=404,
error=Not Found, path=/tweet2}] 2022-03-08 11:04:45.497 DEBUG 46576
--- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 404
Here is the code I wrote:
#GetMapping("/tweet2")
public ModelAndView getTweetsByEmail(#RequestParam String email) {
ModelAndView modelAndView = new ModelAndView("tweets");
List<Tweet> tweets = tweetMap.get(email);
modelAndView.getModel().put("tweets",tweets);
return modelAndView;
}
And there is a tweets.mustache file under the resources folder. Not sure why its unable to detect it

Swagger2 UI Resource mapping and API Documentation is missing

This is a Spring Boot project.
I have added Spring Fox a Swagger 2 based API documentation tool to my .pom file and I have
configured it but for some reason (my guess is the resource mapping is not working properly)
The basic part of the confguration is there but when I have added more specific configuration,
like my contact or description of the API -> this part is not showing.
This is my Swagger configuration class:
#Component
#PropertySource("classpath:springFoxdocumentation.yml")
#EnableSwagger2
#EnableWebMvc
public class SpringFoxConfig implements WebMvcConfigurer {
#Value("${api.common.version}")
private static String apiVersion;
#Value("${api.common.title}")
private static String apiTitle;
#Value("${api.common.description}")
private static String apiDescription;
#Value("${api.common.termsOfServiceUrl}")
private static String apiTermsOfServiceUrl;
#Value("${api.common.license}")
private static String apiLicense;
#Value("${api.common.licenseUrl}")
private static String apiLicenseUrl;
#Value("${api.common.contact.name}")
private static String apiContactName;
#Value("${api.common.contact.url}")
private static String apiContactUrl;
#Value("${api.common.contact.email}")
private static String apiContactEmail;
#Bean
public Docket apiDocumentation(){
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.globalResponseMessage(RequestMethod.GET, Collections.emptyList())
.apiInfo(new ApiInfo(
apiVersion,
apiTitle,
apiDescription,
apiTermsOfServiceUrl,
new Contact( apiContactName, apiContactUrl,apiContactEmail),
apiLicense,
apiLicenseUrl,
Collections.emptyList()
));
}
#Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
I know that I shouldn't have there the resource handler method, but since I have assumed that this problem is caused by resource mapper I have added it int the code (but it didn't help)
And this is my .yml file under resources folder
api:
common:
version: 1.0.0
title: Ticket Manager
description: Ticket Manager server as a simple REST API for managing ticket and Incidents
termsOfServiceUrl: LINK FOR TERMS OF SERVICE
license: This is a Open Source Licensed product
licenseUrl: LINK FOR LICENSE URL
contact:
name: opensourcedev
url: URL FOR OPENSOURCEDEV
email: sample#gmail.com
And finally this is a log from my application when I launch swagger2 html page http://localhost:8080/swagger-ui.html#/
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.3.3.RELEASE)
2020-10-18 18:26:36.651 INFO 14928 --- [ main] c.o.t.TicketManagerApplication : Starting TicketManagerApplication on DESKTOP-FJ83RN4 with PID 14928 (D:\Git Projects\ticket-manager\target\classes started by sajmo in D:\Git Projects\ticket-manager)
2020-10-18 18:26:36.653 INFO 14928 --- [ main] c.o.t.TicketManagerApplication : No active profile set, falling back to default profiles: default
2020-10-18 18:26:37.378 INFO 14928 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFERRED mode.
2020-10-18 18:26:37.436 INFO 14928 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 51ms. Found 3 JPA repository interfaces.
2020-10-18 18:26:37.832 INFO 14928 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2020-10-18 18:26:37.840 INFO 14928 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-10-18 18:26:37.840 INFO 14928 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.37]
2020-10-18 18:26:37.962 INFO 14928 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-10-18 18:26:37.962 INFO 14928 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1258 ms
2020-10-18 18:26:38.063 INFO 14928 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-10-18 18:26:38.087 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiVersion
2020-10-18 18:26:38.088 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiTitle
2020-10-18 18:26:38.088 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiDescription
2020-10-18 18:26:38.088 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiTermsOfServiceUrl
2020-10-18 18:26:38.088 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiLicense
2020-10-18 18:26:38.088 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiLicenseUrl
2020-10-18 18:26:38.088 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiContactName
2020-10-18 18:26:38.088 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiContactUrl
2020-10-18 18:26:38.088 INFO 14928 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static java.lang.String com.opensourcedev.ticketmanager.apidocs.SpringFoxConfig.apiContactEmail
2020-10-18 18:26:38.246 WARN 14928 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2020-10-18 18:26:38.273 INFO 14928 --- [ task-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2020-10-18 18:26:38.303 DEBUG 14928 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : 17 mappings in 'requestMappingHandlerMapping'
2020-10-18 18:26:38.353 INFO 14928 --- [ main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2020-10-18 18:26:38.373 DEBUG 14928 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/swagger-ui.html, /webjars/**] in 'resourceHandlerMapping'
2020-10-18 18:26:38.427 DEBUG 14928 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 #ModelAttribute, 0 #InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice
2020-10-18 18:26:38.448 DEBUG 14928 --- [ main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 #ExceptionHandler, 1 ResponseBodyAdvice
2020-10-18 18:26:38.567 INFO 14928 --- [ task-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2020-10-18 18:26:38.587 INFO 14928 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2020-10-18 18:26:38.588 INFO 14928 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2020-10-18 18:26:38.602 INFO 14928 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2020-10-18 18:26:38.627 INFO 14928 --- [ main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references
2020-10-18 18:26:38.753 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_1
2020-10-18 18:26:38.770 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findAllTicketsUsingGET_1
2020-10-18 18:26:38.773 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findByIdUsingGET_1
2020-10-18 18:26:38.783 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_1
2020-10-18 18:26:38.786 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_2
2020-10-18 18:26:38.787 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_3
2020-10-18 18:26:38.791 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findAllTicketsUsingGET_2
2020-10-18 18:26:38.792 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findAllTicketsUsingGET_3
2020-10-18 18:26:38.795 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findbyIdUsingGET_1
2020-10-18 18:26:38.800 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_2
2020-10-18 18:26:38.801 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_3
2020-10-18 18:26:38.803 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_4
2020-10-18 18:26:38.804 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: deleteUsingDELETE_5
2020-10-18 18:26:38.809 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findAllTicketsUsingGET_4
2020-10-18 18:26:38.809 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findAllTicketsUsingGET_5
2020-10-18 18:26:38.812 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findbyIdUsingGET_2
2020-10-18 18:26:38.813 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: findbyIdUsingGET_3
2020-10-18 18:26:38.817 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_4
2020-10-18 18:26:38.818 INFO 14928 --- [ main] .d.s.w.r.o.CachingOperationNameGenerator : Generating unique operation named: saveUsingPOST_5
2020-10-18 18:26:38.826 INFO 14928 --- [ main] DeferredRepositoryInitializationListener : Triggering deferred initialization of Spring Data repositories…
2020-10-18 18:26:39.291 INFO 14928 --- [ task-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-10-18 18:26:39.428 INFO 14928 --- [ main] DeferredRepositoryInitializationListener : Spring Data repositories initialized!
2020-10-18 18:26:39.436 INFO 14928 --- [ main] c.o.t.TicketManagerApplication : Started TicketManagerApplication in 3.057 seconds (JVM running for 3.892)
2020-10-18 18:26:50.042 INFO 14928 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-10-18 18:26:50.042 INFO 14928 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-10-18 18:26:50.042 DEBUG 14928 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver
2020-10-18 18:26:50.047 DEBUG 14928 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data
2020-10-18 18:26:50.047 INFO 14928 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms
2020-10-18 18:26:50.053 DEBUG 14928 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/v2/api-docs", parameters={}
2020-10-18 18:26:50.168 DEBUG 14928 --- [nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, application/signed-exchange;v=b3;q=0.9, */*;q=0.8] and supported [application/json, application/*+json]
2020-10-18 18:26:50.169 DEBUG 14928 --- [nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [springfox.documentation.spring.web.json.Json#51a025e9]
2020-10-18 18:26:50.178 DEBUG 14928 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:27:24.254 DEBUG 14928 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : GET "/swagger-ui.html", parameters={}
2020-10-18 18:27:24.257 DEBUG 14928 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/"]
2020-10-18 18:27:24.262 DEBUG 14928 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 304 NOT_MODIFIED
2020-10-18 18:27:24.391 DEBUG 14928 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/swagger-resources/configuration/ui", parameters={}
2020-10-18 18:27:24.392 DEBUG 14928 --- [nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to springfox.documentation.swagger.web.ApiResourceController#uiConfiguration()
2020-10-18 18:27:24.393 DEBUG 14928 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/webjars/springfox-swagger-ui/favicon-32x32.png?v=2.9.2", parameters={masked}
2020-10-18 18:27:24.394 DEBUG 14928 --- [nio-8080-exec-4] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/webjars/"]
2020-10-18 18:27:24.397 DEBUG 14928 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:27:24.398 DEBUG 14928 --- [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json]
2020-10-18 18:27:24.398 DEBUG 14928 --- [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [springfox.documentation.swagger.web.UiConfiguration#674d67e1]
2020-10-18 18:27:24.400 DEBUG 14928 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:27:24.404 DEBUG 14928 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/swagger-resources/configuration/security", parameters={}
2020-10-18 18:27:24.404 DEBUG 14928 --- [nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to springfox.documentation.swagger.web.ApiResourceController#securityConfiguration()
2020-10-18 18:27:24.406 DEBUG 14928 --- [nio-8080-exec-5] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json]
2020-10-18 18:27:24.406 DEBUG 14928 --- [nio-8080-exec-5] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [springfox.documentation.swagger.web.SecurityConfiguration#466a47c4]
2020-10-18 18:27:24.407 DEBUG 14928 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:27:24.410 DEBUG 14928 --- [nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : GET "/swagger-resources", parameters={}
2020-10-18 18:27:24.410 DEBUG 14928 --- [nio-8080-exec-6] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to springfox.documentation.swagger.web.ApiResourceController#swaggerResources()
2020-10-18 18:27:24.411 DEBUG 14928 --- [nio-8080-exec-6] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json]
2020-10-18 18:27:24.411 DEBUG 14928 --- [nio-8080-exec-6] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [[springfox.documentation.swagger.web.SwaggerResource#592c2c2f]]
2020-10-18 18:27:24.413 DEBUG 14928 --- [nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:27:24.445 DEBUG 14928 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : GET "/", parameters={}
2020-10-18 18:27:24.445 DEBUG 14928 --- [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/v2/api-docs", parameters={}
2020-10-18 18:27:24.446 WARN 14928 --- [nio-8080-exec-8] o.s.web.servlet.PageNotFound : No mapping for GET /
2020-10-18 18:27:24.446 DEBUG 14928 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND
2020-10-18 18:27:24.449 DEBUG 14928 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={}
2020-10-18 18:27:24.450 DEBUG 14928 --- [nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2020-10-18 18:27:24.452 DEBUG 14928 --- [nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json]
2020-10-18 18:27:24.453 DEBUG 14928 --- [nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Sun Oct 18 18:27:24 CEST 2020, status=404, error=Not Found, message=, path=/}]
2020-10-18 18:27:24.454 DEBUG 14928 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 404
2020-10-18 18:27:24.458 DEBUG 14928 --- [nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : GET "/csrf", parameters={}
2020-10-18 18:27:24.458 DEBUG 14928 --- [nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json, */*] and supported [application/json, application/*+json]
2020-10-18 18:27:24.458 DEBUG 14928 --- [nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [springfox.documentation.spring.web.json.Json#784dbf0b]
2020-10-18 18:27:24.458 WARN 14928 --- [nio-8080-exec-9] o.s.web.servlet.PageNotFound : No mapping for GET /csrf
2020-10-18 18:27:24.458 DEBUG 14928 --- [nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND
2020-10-18 18:27:24.458 DEBUG 14928 --- [nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={}
2020-10-18 18:27:24.459 DEBUG 14928 --- [nio-8080-exec-9] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2020-10-18 18:27:24.459 DEBUG 14928 --- [nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:27:24.459 DEBUG 14928 --- [nio-8080-exec-9] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json]
2020-10-18 18:27:24.459 DEBUG 14928 --- [nio-8080-exec-9] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Sun Oct 18 18:27:24 CEST 2020, status=404, error=Not Found, message=, path=/csrf}]
2020-10-18 18:27:24.460 DEBUG 14928 --- [nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 404
2020-10-18 18:29:06.678 DEBUG 14928 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : GET "/swagger-resources/configuration/ui", parameters={}
2020-10-18 18:29:06.678 DEBUG 14928 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to springfox.documentation.swagger.web.ApiResourceController#uiConfiguration()
2020-10-18 18:29:06.679 DEBUG 14928 --- [nio-8080-exec-2] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json]
2020-10-18 18:29:06.679 DEBUG 14928 --- [nio-8080-exec-2] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [springfox.documentation.swagger.web.UiConfiguration#7fcb7c22]
2020-10-18 18:29:06.680 DEBUG 14928 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:29:06.684 DEBUG 14928 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/swagger-resources/configuration/security", parameters={}
2020-10-18 18:29:06.684 DEBUG 14928 --- [nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to springfox.documentation.swagger.web.ApiResourceController#securityConfiguration()
2020-10-18 18:29:06.685 DEBUG 14928 --- [nio-8080-exec-4] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json]
2020-10-18 18:29:06.685 DEBUG 14928 --- [nio-8080-exec-4] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [springfox.documentation.swagger.web.SecurityConfiguration#5c5535f8]
2020-10-18 18:29:06.686 DEBUG 14928 --- [nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:29:06.689 DEBUG 14928 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/swagger-resources", parameters={}
2020-10-18 18:29:06.689 DEBUG 14928 --- [nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to springfox.documentation.swagger.web.ApiResourceController#swaggerResources()
2020-10-18 18:29:06.689 DEBUG 14928 --- [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json] and supported [application/json, application/*+json]
2020-10-18 18:29:06.690 DEBUG 14928 --- [nio-8080-exec-3] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [[springfox.documentation.swagger.web.SwaggerResource#59507de0]]
2020-10-18 18:29:06.690 DEBUG 14928 --- [nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:29:06.719 DEBUG 14928 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/v2/api-docs", parameters={}
2020-10-18 18:29:06.720 DEBUG 14928 --- [nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : GET "/", parameters={}
2020-10-18 18:29:06.721 WARN 14928 --- [nio-8080-exec-6] o.s.web.servlet.PageNotFound : No mapping for GET /
2020-10-18 18:29:06.721 DEBUG 14928 --- [nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND
2020-10-18 18:29:06.721 DEBUG 14928 --- [nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={}
2020-10-18 18:29:06.721 DEBUG 14928 --- [nio-8080-exec-6] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2020-10-18 18:29:06.722 DEBUG 14928 --- [nio-8080-exec-6] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json]
2020-10-18 18:29:06.722 DEBUG 14928 --- [nio-8080-exec-6] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Sun Oct 18 18:29:06 CEST 2020, status=404, error=Not Found, message=, path=/}]
2020-10-18 18:29:06.723 DEBUG 14928 --- [nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 404
2020-10-18 18:29:06.726 DEBUG 14928 --- [nio-8080-exec-5] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [application/json, */*] and supported [application/json, application/*+json]
2020-10-18 18:29:06.726 DEBUG 14928 --- [nio-8080-exec-5] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [springfox.documentation.spring.web.json.Json#786c5618]
2020-10-18 18:29:06.727 DEBUG 14928 --- [nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK
2020-10-18 18:29:06.744 DEBUG 14928 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : GET "/csrf", parameters={}
2020-10-18 18:29:06.745 WARN 14928 --- [nio-8080-exec-8] o.s.web.servlet.PageNotFound : No mapping for GET /csrf
2020-10-18 18:29:06.745 DEBUG 14928 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND
2020-10-18 18:29:06.745 DEBUG 14928 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={}
2020-10-18 18:29:06.746 DEBUG 14928 --- [nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2020-10-18 18:29:06.746 DEBUG 14928 --- [nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json, application/*+json]
2020-10-18 18:29:06.746 DEBUG 14928 --- [nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Sun Oct 18 18:29:06 CEST 2020, status=404, error=Not Found, message=, path=/csrf}]
2020-10-18 18:29:06.747 DEBUG 14928 --- [nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Exiting from "ERROR" dispatch, status 404
There are two issues in your code. First of all, #Value does not work on static fields. So all your springfox declared fields are null. Spring never set values in them.
If you remove the static from your fields , Spring will tell you that it doesn't find the properties like api.common.version or api.common.title. Because #PropertySource does not load yml files. It is declared in official documentation.
But there are workaround, you can follow this source here to use yml files with #PropertySource.

Spring Boot : Having a custom annotation on spring rest controller class causing error in identifying handler mapping

I am using a custom annotation called #Toggle on top of a rest controller class in spring boot to intercept the handlerType to block rest calls.
See below code snippet:
#RestController
#Toggle(feature="feature.foo")
#RequestMapping("/foo")
public class FooController {
#RequestMapping("")
public Map hello() {
return Collections.singletonMap("message", "hello foo!");
}
}
But I am not able to access the api which fails even before dispatcher servlet find the handler method.
2018-02-17 18:51:31.520 DEBUG 73947 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : DispatcherServlet with name 'dispatcherServlet' processing GET request for [/foo]
2018-02-17 18:51:31.521 DEBUG 73947 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /foo
2018-02-17 18:51:31.523 DEBUG 73947 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Did not find handler method for [/foo]
2018-02-17 18:51:31.523 DEBUG 73947 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Matching patterns for request [/foo] are [/**]
2018-02-17 18:51:31.523 DEBUG 73947 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : URI Template variables for request [/foo] are {}
2018-02-17 18:51:31.524 DEBUG 73947 --- [nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapping [/foo] to HandlerExecutionChain with handler [ResourceHttpRequestHandler [locations=[ServletContext resource [/], class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver#333c8791]]] and 1 interceptor
2018-02-17 18:51:31.524 DEBUG 73947 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Last-Modified value for [/foo] is: -1
2018-02-17 18:51:31.525 DEBUG 73947 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
2018-02-17 18:51:31.525 DEBUG 73947 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Successfully completed request
2018-02-17 18:51:31.529 DEBUG 73947 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : DispatcherServlet with name 'dispatcherServlet' processing GET request for [/error]
2018-02-17 18:51:31.529 DEBUG 73947 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /error
2018-02-17 18:51:31.529 DEBUG 73947 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Returning handler method [public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)]
2018-02-17 18:51:31.530 DEBUG 73947 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Last-Modified value for [/error] is: -1
Found below logs which can throw some more light on the problem.
2018-02-17 20:30:24.172 DEBUG 94537 --- [ main] .i.s.PathMatchingResourcePatternResolver : Resolved location pattern [classpath*:in/karthick/spring/**/*.class] to resources [file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/AppConfig.class], file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/Constants.class], file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/FeatureToggleApplication.class], file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/web/FooController.class], file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/web/HelloController.class]]
2018-02-17 20:30:24.172 TRACE 94537 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Scanning file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/AppConfig.class]
2018-02-17 20:30:24.190 DEBUG 94537 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Identified candidate component class: file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/AppConfig.class]
2018-02-17 20:30:24.191 TRACE 94537 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Scanning file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/Constants.class]
2018-02-17 20:30:24.191 TRACE 94537 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Ignored because not matching any filter: file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/Constants.class]
2018-02-17 20:30:24.191 TRACE 94537 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Scanning file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/FeatureToggleApplication.class]
2018-02-17 20:30:24.196 TRACE 94537 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Ignored because not matching any filter: file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/FeatureToggleApplication.class]
2018-02-17 20:30:24.196 TRACE 94537 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Scanning file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/web/FooController.class]
2018-02-17 20:30:24.205 TRACE 94537 --- [ main] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'feature.foo' in [servletConfigInitParams]
2018-02-17 20:30:24.205 TRACE 94537 --- [ main] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'feature.foo' in [servletContextInitParams]
2018-02-17 20:30:24.205 TRACE 94537 --- [ main] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'feature.foo' in [systemProperties]
2018-02-17 20:30:24.206 TRACE 94537 --- [ main] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'feature.foo' in [systemEnvironment]
2018-02-17 20:30:24.206 TRACE 94537 --- [ main] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'feature.foo' in [random]
2018-02-17 20:30:24.206 TRACE 94537 --- [ main] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'feature.foo' in [applicationConfigurationProperties]
2018-02-17 20:30:24.206 DEBUG 94537 --- [ main] o.s.c.e.PropertySourcesPropertyResolver : Could not find key 'feature.foo' in any property source
2018-02-17 20:30:24.210 TRACE 94537 --- [ main] o.s.c.a.ClassPathBeanDefinitionScanner : Ignored because not matching any filter: file [/Users/karthick/feature-toggles/target/classes/in/karthick/spring/web/FooController.class]
However, if I use the same #Toggle annotation on a method inside rest controller class, the handler mapping finds the right method to invoke.
#RequestMapping("/foo")
#Toggle(feature = "feature.foo")
public Map hello() {
return Collections.singletonMap("message", "hello foo!");
}
How can I make sure spring boot maps to right handler method even if I use custom annotation on top of rest controller.

Resources