Prefacio
Este artículo presenta principalmente el contenido relevante sobre el enrutamiento de primavera basado en los parámetros de URL. Se comparte para su referencia y valor de aprendizaje. Echemos un vistazo a la introducción detallada a continuación.
Descubrir problemas
Recientemente, encontré un problema al escribir interfaces, es decir, las partes de ruta de las URL de las dos interfaces de descanso son las mismas, y se distinguen de acuerdo con la consulta que pasa en diferentes parámetros.
Por ejemplo, la interfaz de carga normal de S3 es:
Put /{bucketName} /{ObjectName}La interfaz para cargar en fragmentos es:
Put /{bucketName} /{ObjectName}? ParteNumber = {PartNumber} & uploadId = {iboadId}El Number Part y la carga son una interfaz, y los dos parámetros no se pasan en otra interfaz. Entonces, ¿cómo establecer la ruta en la primavera?
En general, establecemos las rutas @RequestMapping(value = "/xx", method = RequestMethod.GET) . Luego, en la firma del método, los parámetros se pueden inyectar a través de @RequestParam.
Sin embargo, no es posible implementar directamente la distinción inyectando diferentes parámetros, como:
@ResponseBody@requestMapping (value = "/xx", método = requestmethod.get) public String get1 () {return "get1";}@ResponseBody@requestmapping (valor = "/xx", método = requestmethod.get) public String get2 (@RequestParam) {return "get2" + name;}Esto informará un error:
java.lang.illegalstateException: mapeo ambiguo. No se puede mapear el método 'Democontroller_V01' público java.lang.string com.nd.sdp.ndss.controller.v01.democontroller.get1 () a {[/demo/xx], métodos = [get]}: ya está 'Democontroller_V01' Bean MethodSolución
Significa que se ha registrado repetidamente, por lo que @RequestParam no se puede usar como base de enrutamiento.
@RequestParam
Se utiliza para procesar el tipo de contenido: Contenido codificado para Application/X-WWW-Form-URLEncoded. (En el protocolo HTTP, si no se especifica el tipo de contenido, el parámetro aprobado predeterminado es el tipo de aplicación/x-www-form-urlencoded)
RequestParam puede aceptar propiedades de tipos u tipos de objetos simples.
La esencia es utilizar el servicio de conversión del mecanismo de conversión de Spring para configurar el mapa de parámetros de valor clave en request.getParameter () para convertirlo en un objeto o campo receptor de parámetros.
@RequestMapping es una anotación de enrutamiento. Además del campo de valor de uso común para configurar la URL, también proporciona un parámetro de parámetros, que puede especificar cómo hacer coincidir los parámetros de consulta en la URL. Varios métodos de configuración:
Esto le permite especificar rutas de manera muy flexible.
Además, @RequestMapping también proporciona el parámetro de encabezado, ¡lo que nos permite enrutar de acuerdo con la situación del encabezado!
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.