Pregunta mvc de primavera obtener todas las asignaciones de solicitudes


Tenemos una aplicación web de primavera mvc bastante grande donde los controladores están anotados con @Controller y los métodos con @RequestMapping.

Me gustaría crear ahora una prueba que compruebe todas las URL posibles y compruebe si el valor de retorno es 200.

¿Es de alguna manera posible obtener todas las asignaciones de la primavera?


32
2018-06-18 12:25


origen


Respuestas:


Estoy replicando uno de mis respuestas anteriores aquí:

Si está utilizando Spring 3.1, este componente handlerMapping es una instancia de RequestMappingHandlerMapping, que puede consultar para encontrar el handlerMappedMethods y los controladores asociados, en esta línea (si está en una versión anterior de Spring, debería poder usar un enfoque):

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;

@Controller
public class EndpointDocController {
 private final RequestMappingHandlerMapping handlerMapping;

 @Autowired
 public EndpointDocController(RequestMappingHandlerMapping handlerMapping) {
  this.handlerMapping = handlerMapping;
 }

 @RequestMapping(value="/endpointdoc", method=RequestMethod.GET)
 public void show(Model model) {
  model.addAttribute("handlerMethods", this.handlerMapping.getHandlerMethods());
 } 
}

He proporcionado más detalles sobre esto en esta url http://biju-allandsundry.blogspot.com/2012/03/endpoint-documentation-controller-for.html

Esto se basa en una presentación sobre Spring 3.1 de Rossen Stoyanchev de Spring Source.


37
2018-06-18 13:02