春ブートエントリ手順は、設定ファイルをカスタマイズするためのパラメータを取得し、JSONデータエラーケース2を返しします

1次のように、エラー、新しいエラーメッセージの出現を解決する前に:

ブラウザのエラーメッセージ:

ホワイトレーベルのエラーページは、
このアプリケーションは、あなたが、フォールバックとしてこれを見ているので、用/エラー明示的なマッピングを持っていません。

火曜11月5日夜七時35分29秒CST 2019 
予期しないエラー(タイプ=内部サーバーエラー、状況= 500)がありました。
タイプ定義エラー:[単純型、クラスorg.springframework.context.expression.StandardBeanExpressionResolver]。ネストされた例外はcom.fasterxml.jackson.databind.exc.InvalidDefinitionExceptionではありません:クラスorg.springframework.context.expression.StandardBeanExpressionResolverが見つかりませシリアライザおよび(SerializationFeature.FAIL_ON_EMPTY_BEANSを無効にし、例外を回避するために)のBeanSerializerを作成するために発見していないプロパティ(参照チェーンを通じて:com.hui.springboot.bean.TestUser $$ EnhancerBySpringCGLIB $$ 1aae5395 [ "$$たBeanFactory"]  - > org.springframework.beans.factory.support.DefaultListableBeanFactory [ "beanExpressionResolver"])

アイデアのエラーメッセージ:

com.fasterxml.jackson.databind.exc.InvalidDefinitionException:参照チェーンを通じクラスorg.springframework.context.expression.StandardBeanExpressionResolverと(SerializationFeature.FAIL_ON_EMPTY_BEANSを無効にし、例外を回避するために)のBeanSerializerを作成するために発見していないプロパティが見つかりませんシリアライザ(:COM。 hui.springboot.bean.TestUser $$ EnhancerBySpringCGLIB $$ 1aae5395 [ "$$たBeanFactory"] - > org.springframework.beans.factory.support.DefaultListableBeanFactory [ "beanExpressionResolver"])
    com.fasterxml.jackson.databind.excました。 InvalidDefinitionException.from(InvalidDefinitionException.java:77)〜[ジャクソン-データバインド-2.10.0.jar:2.10.0] 
    com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191)で〜[ジャクソン、データバインド-2.10.0.jar:2.10.0]
    :com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:403)〜[2.10.0ジャクソン-データバインド-2.10.0.jar]で
    com.fasterxml.jackson.databind.ser.impl.UnknownSerializerで。 failForEmpty(UnknownSerializer.java:71)〜[ジャクソン-データバインド-2.10.0.jar:2.10.0] 
    com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:33)で〜[ジャクソン-databind-2.10.0.jar:2.10.0] 
    com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsFieldで(BeanPropertyWriter.java:727)〜[ジャクソン-データバインド-2.10.0.jar:2.10.0] 
    com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:721)で〜[ジャクソン-データバインド-2.10.0.jar:2.10.0]
    :com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)〜[2.10.0ジャクソン-データバインド-2.10.0.jar]で
    com.fasterxml.jackson.databind.ser.BeanPropertyWriterで。 serializeAsField(BeanPropertyWriter.java:727)〜[ジャクソン-データバインド-2.10.0.jar:2.10.0] 
    com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:721)で〜[ジャクソン-databind-2.10.0.jar:2.10.0] 
    com.fasterxml.jackson.databind.ser.BeanSerializer.serializeで(BeanSerializer.java:166)〜[ジャクソン-データバインド-2.10.0.jar:2.10.0] 
    com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)で〜[ジャクソン-データバインド-2.10.0.jar:2.10.0]
    com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)で〜:[ジャクソン-データバインド-2.10.0.jar 2.10.0] 
    com.fasterxml.jackson.databind.ObjectWriter $プリフェッチで。シリアライズ(ObjectWriter.java:1433)〜[ジャクソン-データバインド-2.10.0.jar:2.10.0] 
    com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:921)で〜[ジャクソン-データバインド-2.10 .0.jar:2.10.0] 
    org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternalで(AbstractJackson2HttpMessageConverter.java:287)〜[春-ウェブ5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104)で〜[春-ウェブ5.2.0.RELEASE.jar:5.2.0.RELEASE]
    :org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:295)〜[5.2.0.RELEASEばねwebmvc-5.2.0.RELEASE.jar]で
    org.springframeworkました。 web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181)〜[春-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.method.supportで.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82)〜[春-ウェブ5.2.0.RELEASE.jar:5.2.0.RELEASE]
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandleで(ServletInvocableHandlerMethod.java:124)〜[ばねwebmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframeworkました。 web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)〜[春-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.servlet.mvcで.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)〜[ばねwebmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapterました。ハンドル(AbstractHandlerMethodAdapter.java:87)〜[春-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE]
    org.springframework.web.servlet.DispatcherServlet.doDispatchで(DispatcherServlet.java:1040)〜[ばねwebmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.servlet.DispatcherServletました。 doService(DispatcherServlet.java:943)〜[ばねwebmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)で〜[春-webmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)〜[ばねwebmvc-5.2.0.RELEASE.jarで: 5.2.0.RELEASE] 
    javax.servlet.http.HttpServlet.serviceで(HttpServlet.java:634)〜[Tomcatの-埋め込みコア9.0.27.jar:9.0.27]
    org.springframework.web.servlet.FrameworkServlet.serviceで(FrameworkServlet.java:883)〜[ばねwebmvc-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    javax.servlet.http.HttpServlet.serviceで( HttpServlet.java:741)〜[Tomcatの-埋め込みコア9.0.27.jar:9.0.27] 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilterで(ApplicationFilterChain.java:231)〜[Tomcatの-埋め込みコア-9.0.27.jar:9.0.27] 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)〜[Tomcatの-埋め込みコア9.0.27.jarで:9.0.27] 
    ORGで.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)〜[Tomcatの-埋め込む-のWebSocket-9.0.27.jar:9.0.27]
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilterで(ApplicationFilterChain.java:193)〜[Tomcatの-埋め込みコア9.0.27.jar:9.0.27] 
    org.apache.catalina.core.ApplicationFilterChain.doFilterで( ApplicationFilterChain.java:166)〜[Tomcatの-埋め込みコア9.0.27.jar:9.0.27] 
    org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)で〜[ばねウェブ5.2 .0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.filter.OncePerRequestFilter.doFilterで(OncePerRequestFilter.java:119)〜[春-ウェブ5.2.0.RELEASE.jar:5.2.0。 RELEASE] 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilterで(ApplicationFilterChain.java:193)〜[Tomcatの-埋め込みコア9.0.27.jar:9.0.27]
    org.apache.catalina.core.ApplicationFilterChain.doFilterで(ApplicationFilterChain.java:166)〜[Tomcatの-埋め込みコア9.0.27.jar:9.0.27] 
    org.springframework.web.filter.FormContentFilter.doFilterInternalで( FormContentFilter.java:93)〜[春-ウェブ5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.filter.OncePerRequestFilter.doFilterで(OncePerRequestFilter.java:119)〜[春-ウェブ-5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)で〜[Tomcatの-埋め込みコア9.0.27.jar:9.0。 27] 
    org.apache.catalina.core.ApplicationFilterChain.doFilterで(ApplicationFilterChain.java:166)〜[Tomcatの-埋め込みコア9.0.27.jar:9.0.27]
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternalで(CharacterEncodingFilter.java:201)〜[春-ウェブ5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.springframework.web.filter.OncePerRequestFilterで。 doFilter(OncePerRequestFilter.java:119)〜[春-ウェブ5.2.0.RELEASE.jar:5.2.0.RELEASE] 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilterで(ApplicationFilterChain.java:193)〜[Tomcatの-embedコア-9.0.27.jar:9.0.27] 
    org.apache.catalina.core.ApplicationFilterChain.doFilterで(ApplicationFilterChain.java:166)〜[Tomcatの-埋め込みコア9.0.27.jar:9.0。 27] 
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)〜[Tomcatの-埋め込みコア9.0.27.jarで:9.0.27]
    :org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)9.0.27 Tomcatの-埋め込みコア9.0.27.jar]で
    org.apache.catalina.authenticator.AuthenticatorBase.invokeで(AuthenticatorBase .java:526)[Tomcatの-埋め込みコア9.0.27.jar:9.0.27] 
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)における[Tomcatの-埋め込みコア9.0。 27.jar:9.0.27] 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)のTomcat-埋め込みコア9.0.27.jarで:9.0.27] 
    org.apache.catalinaで:.core.StandardEngineValve.invoke(StandardEngineValve.java:74)9.0.27 Tomcatの-埋め込みコア9.0.27.jar] 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)で[ Tomcatの-埋め込むコア-9.0.27.jar:9.0.27]
    org.apache.coyote.http11.Http11Processor.serviceで(Http11Processor.java:408)のTomcat-埋め込みコア9.0.27.jar:9.0.27] 
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.javaで:66)[Tomcatの-埋め込みコア9.0.27.jar:9.0.27] 
    org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:861)における[Tomcatの-埋め込みコア9.0.27。ジャー:9.0.27] 
    org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1579)のTomcat-埋め込みコア9.0.27.jarで:9.0.27] 
    org.apacheで.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)のTomcat-埋め込みコア9.0.27.jar:9.0.27] 
    java.util.concurrent.ThreadPoolExecutor.runWorker(AT ThreadPoolExecutor.java:1149 )NA:1.8.0_191]
    :java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)[1.8.0_191 NA]で
    org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)で[ Tomcatの-埋め込みコア9.0.27.jar:9.0.27] 
    java.lang.Thread.run(Thread.java:748)における[NA:1.8.0_191]

豆: 

輸入lombok.Data。
輸入org.springframework.beans.factory.annotation.Value。
輸入org.springframework.boot.context.properties.ConfigurationProperties。
輸入org.springframework.context.annotation.Configuration。
輸入org.springframework.context.annotation.PropertySource。

@Configuration 
@PropertySource( "クラスパス:test.properties" 
@ConfigurationProperties(接頭辞 = "TESTUSER" 
@Data 
パブリック クラスtestuserを{ 
    @value( "$ {testuser.name}" プライベート文字列名; 
    @値("$ {testuser.password}" プライベート文字列のパスワード。
    @value( "$ {testuser.birthday}" プライベート文字列の誕生日。
}

コントローラ:

輸入com.hui.springboot.bean.TestUser。
輸入com.hui.springboot.bean.UserBody。
輸入org.springframework.beans.factory.annotation.Autowired;
輸入org.springframework.boot.context.properties.EnableConfigurationProperties。
輸入org.springframework.web.bind.annotation.GetMapping。
輸入org.springframework.web.bind.annotation.RestController。

@RestController 
@EnableConfigurationProperties({TESTUSER。クラス、UserBody。クラス})
 パブリック クラスUserBodyController { 

    @Autowired 
    UserBody userBody。
    @Autowired
    TESTUSER TESTUSER; 

    (@GetMapping "/のgetUser" 公衆UserBodyのgetUser(){
         リターンuserBody。
    } 

    @GetMapping( "/ getTestUser" 公衆TESTUSER getTestUser(){
         戻りTESTUSERと、
    } 
}

エラー所在地:

また恥、技術が限定されるため、次の解決策を提供するために、根本的な理由を明確にすることはできません。

制御コードは、次の変更します:

輸入com.hui.springboot.bean.TestUser。
輸入com.hui.springboot.bean.UserBody。
輸入org.springframework.beans.factory.annotation.Autowired;
輸入org.springframework.beans.factory.annotation.Value。
輸入org.springframework.boot.context.properties.EnableConfigurationProperties。
輸入org.springframework.web.bind.annotation.GetMapping。
輸入org.springframework.web.bind.annotation.RestController。

@RestController 
@EnableConfigurationProperties({TESTUSER。クラス、UserBody。クラス})
 パブリック クラスUserBodyController { 

    @Autowired
    UserBody userBody; @value(

     "$ {testuser.name}")
     プライベート文字列名; 
    @value( "$ {testuser.password}")プライベート文字列のパスワード。
    @value( "$ {testuser.birthday}")プライベート
    
    文字列の誕生日。

    (@GetMapping "/のgetUser" 公衆UserBodyのgetUser(){
         リターンuserBody。
    } 

    @GetMapping( "/ getTestUser" 公衆TESTUSER getTestUser(){ 
        TESTUSER TESTUSER = 新しいTESTUSER()。
     //以此来规避不能转换JSON格式的问题 testUser.setName(名); testUser.setPassword(パスワード); testUser.setBirthday(誕生日)。
返すTESTUSERを。 } }

ブラウザを変更した後、正しく楽屋インタフェースを要求します。

フォローアップ勉強して更新していきます

おすすめ

転載: www.cnblogs.com/marrycode/p/11801309.html