上面,我们配置好路由已经响应体后,我们就可以进行该路由的访问了,下方是该路径访问的效果。从下方效果我们可以看出路由可以正常访问,并且有返回参数。不过我们返回的一些中文却产生了码,所以我们要指定ResponseBody的编码方式。
我们可以查看一下上述请求的编码方式,从下方内容中我们可以看出,charset的值是ISO-8859-1。我们可以将其设置成我们想要的编码方式。
我们在配置路由时不仅可以指定路由的值(value),而且可以指定路由所响应内容的文本格式已经编码方式。因为sub1()方法是在RouteController类中的,所以我们可以指定整个类的编码方式。下方就是通过produces属性来指定文本格式已经编码方式的,如下所示。
添加完文本类型以及编码格式后,我们重新看一下运行结果。从下方的运行结果,我们不难看出,Response Body中的内容不再是乱码了,而且Response Header中的Content-Type也变成了我们设置的值,如下所示。
4、多个路由映射到同一方法上
我们可以将多个路由映射到同一个Controller的方法上。当我们给@RequestMapping的value属性赋值一个数组时,数组中的路径都会映射到该注解所修饰的方法中。如下所示。下方的/name1和/name2都会映射到该方法中。如下所示。
二、获取路由及请求参数
我们在聊Swift的Perfect框架时,其中配置的路由中是可以加一些变量的,然后我们可以在路由映射中获取路由的参数。在SpringMVC中也是如此,本部分,我们就来看一下如何获取路由中的参数。以及如何获取用户通过Get方式提交的参数的。
1、配置路由参数
在路由配置中,我们可以为路由添加参数,然后使用@PathVariable注解来获取该路径变量的值。下方创建的sub2()方法的路由配置中就带有路径变量的,使用{路径变量}来声明路径变量,使用@PathVariable来获取路径变量。
在下方方法中,我们声明了两个路由变量,一个名为value1,另一个为value2,在sub2()方法的参数中使用@PathVariable来取出相应变量的值。当然在取值是变量名要和路由中的变量名一致。如下所示。
配置完路由以及路径变量后,我们就可以进行访问了。下方就是我们访问的具体结果,已经返回的Response Body的内容。从该实例中我们不难看出,路径变量在开发中是非常实用的一项功能。
2.获取Get请求的单个参数
获取用户在Get请求中所添加的参数,可以说是在开发中经常使用的。接下来我们就来看一下我们的方法是如何来获取Get请求中的相应参数的值的。本小结的内容比较简单。直接在所映射的方法中添加相应的参数即可。下方sub3()方法的param参数,就是用来接收Get请求参数中名为“param”参数的值的,如下所示。