Ensure ObservableReturnValueHandler registered first

This commit is contained in:
Rossen Stoyanchev
2015-05-29 13:44:30 -04:00
parent 28e72cc479
commit 6561620470
4 changed files with 43 additions and 10 deletions

View File

@@ -1,24 +1,35 @@
package net.chrisrichardson.eventstore.javaexamples.banking.web.queryside;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import net.chrisrichardson.eventstore.javaexamples.banking.backend.queryside.accounts.QuerySideAccountConfiguration;
import net.chrisrichardson.eventstore.javaexamples.banking.web.util.ObservableReturnValueHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
@Configuration
@Import({QuerySideAccountConfiguration.class})
@ComponentScan
public class QuerySideWebConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {
handlers.add(new ObservableReturnValueHandler());
@Autowired
private RequestMappingHandlerAdapter adapter;
@PostConstruct
public void init() {
// https://jira.spring.io/browse/SPR-13083
List<HandlerMethodReturnValueHandler> handlers = new ArrayList<HandlerMethodReturnValueHandler>(adapter.getReturnValueHandlers());
handlers.add(0, new ObservableReturnValueHandler());
adapter.setReturnValueHandlers(handlers);
}
}