DispatcherServlet 構成には、このハンドラーをサポートする HandlerAdapter を含める必要があります。質問する

DispatcherServlet 構成には、このハンドラーをサポートする HandlerAdapter を含める必要があります。質問する

Spring MVC でアノテーション マッピングと XML マッピングの両方を使用したいと考えました。私のapplication-context.xml方法は次のとおりです。

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="personal/account/history">accountHistoryController</prop>
        </props>
    </property>
</bean>

<bean id="accountHistoryController" class="com.fg.banking.ib.controller.AccountHistoryController" />

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<context:annotation-config />
<mvc:annotation-driven />
<context:component-scan base-package="com.fg.banking.ib.controller, com.fg.banking.ib.helper, com.fg.banking.corporate.controller" />

URL にアクセスしようとすると、次のエラーが発生します。上記のように SimpleControllerHandlerAdapter を構成しました。

javax.servlet.ServletException: No adapter for handler 
[com.fg.banking.ib.controller.AccountHistoryController@218531e6]: The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler
org.springframework.web.servlet.DispatcherServlet.getHandlerAdapter(DispatcherServlet.java:1128)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:903)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)

何をするか?

ベストアンサー1

このエラーは、restController を定義したが requestMapping を定義し忘れた場合にも発生します。

@RestController
@RequestMapping("/api/orders") // <---- dont't forget the requestMapping

おすすめ記事