use of org.springframework.web.method.HandlerMethod in project nikita-noark5-core by HiOA-ABI.
the class AfterApplicationStartup method afterApplicationStarts.
/**
* afterApplicationStarts, go through list of endpoints and make a list of endpoints and
* the HTTP methods they support.
*
*/
public void afterApplicationStarts() {
for (Map.Entry<RequestMappingInfo, HandlerMethod> entry : handlerMapping.getHandlerMethods().entrySet()) {
RequestMappingInfo requestMappingInfo = entry.getKey();
// Assuming there is always a non-null value
String servletPaths = requestMappingInfo.getPatternsCondition().toString();
// servletPath starts with "[" and ends with "]". Removing them if they are there
if (true == servletPaths.startsWith("[")) {
servletPaths = servletPaths.substring(1);
}
if (true == servletPaths.endsWith("]")) {
servletPaths = servletPaths.substring(0, servletPaths.length() - 1);
}
String[] servletPathList = servletPaths.split("\\s+");
for (String servletPath : servletPathList) {
if (servletPath != null && false == servletPath.contains("|")) {
// This is done to be consist on a lookup
if (false == servletPath.endsWith("/")) {
servletPath += SLASH;
}
Set<RequestMethod> httpMethodRequests = requestMappingInfo.getMethodsCondition().getMethods();
if (null != httpMethodRequests && null != servletPath) {
// RequestMethod and HTTPMethod are different types, have to convert them here
Set<HttpMethod> httpMethods = new TreeSet<>();
for (RequestMethod requestMethod : httpMethodRequests) {
if (requestMethod.equals(requestMethod.GET)) {
httpMethods.add(HttpMethod.GET);
} else if (requestMethod.equals(requestMethod.DELETE)) {
httpMethods.add(HttpMethod.DELETE);
} else if (requestMethod.equals(requestMethod.OPTIONS)) {
httpMethods.add(HttpMethod.OPTIONS);
} else if (requestMethod.equals(requestMethod.HEAD)) {
httpMethods.add(HttpMethod.HEAD);
} else if (requestMethod.equals(requestMethod.PATCH)) {
httpMethods.add(HttpMethod.PATCH);
} else if (requestMethod.equals(requestMethod.POST)) {
httpMethods.add(HttpMethod.POST);
} else if (requestMethod.equals(requestMethod.PUT)) {
httpMethods.add(HttpMethod.PUT);
} else if (requestMethod.equals(requestMethod.TRACE)) {
httpMethods.add(HttpMethod.TRACE);
}
}
out.println("Adding " + servletPath + " methods " + httpMethods);
CommonUtils.WebUtils.addRequestToMethodMap(servletPath, httpMethods);
} else {
logger.warn("Missing HTTP Methods for the following servletPath [" + servletPath + "]");
}
}
}
}
}
use of org.springframework.web.method.HandlerMethod in project spring-boot-admin by codecentric.
the class PrefixHandlerMappingTest method withPrefix.
@Test
public void withPrefix() throws Exception {
TestController controller = new TestController();
PrefixHandlerMapping mapping = new PrefixHandlerMapping(controller);
mapping.setApplicationContext(this.context);
mapping.setPrefix("/pre");
mapping.afterPropertiesSet();
assertThat(mapping.getHandler(new MockHttpServletRequest("GET", "/pre/test")).getHandler(), equalTo((Object) new HandlerMethod(controller, this.method)));
assertThat(mapping.getHandler(new MockHttpServletRequest("GET", "/pre/noop")), nullValue());
}
use of org.springframework.web.method.HandlerMethod in project spring-framework by spring-projects.
the class HandlerResultMatchers method methodName.
/**
* Assert the name of the controller method used to process the request.
*/
public ResultMatcher methodName(final String name) {
return new ResultMatcher() {
@Override
public void match(MvcResult result) throws Exception {
HandlerMethod handlerMethod = getHandlerMethod(result);
assertEquals("Handler method", name, handlerMethod.getMethod().getName());
}
};
}
use of org.springframework.web.method.HandlerMethod in project spring-framework by spring-projects.
the class StandaloneMockMvcBuilderTests method suffixPatternMatch.
// SPR-13637
@Test
public void suffixPatternMatch() throws Exception {
TestStandaloneMockMvcBuilder builder = new TestStandaloneMockMvcBuilder(new PersonController());
builder.setUseSuffixPatternMatch(false);
builder.build();
RequestMappingHandlerMapping hm = builder.wac.getBean(RequestMappingHandlerMapping.class);
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/persons");
HandlerExecutionChain chain = hm.getHandler(request);
assertNotNull(chain);
assertEquals("persons", ((HandlerMethod) chain.getHandler()).getMethod().getName());
request = new MockHttpServletRequest("GET", "/persons.xml");
chain = hm.getHandler(request);
assertNull(chain);
}
use of org.springframework.web.method.HandlerMethod in project spring-framework by spring-projects.
the class PrintingResultHandlerTests method printHandlerMethod.
@Test
public void printHandlerMethod() throws Exception {
HandlerMethod handlerMethod = new HandlerMethod(this, "handle");
this.mvcResult.setHandler(handlerMethod);
this.handler.handle(mvcResult);
assertValue("Handler", "Type", this.getClass().getName());
assertValue("Handler", "Method", handlerMethod);
}
Aggregations