测试简单数据绑定: 默认数据类型绑定 简单数据类型绑定(测试@RequestParam和@PathVariable) pojo绑定(解决中文乱码问题)
时间: 2024-02-17 17:59:53 浏览: 53
好的,我来为您演示一下测试简单数据绑定的示例代码。
1. 默认数据类型绑定
我们可以通过以下代码来演示默认数据类型绑定:
```
@GetMapping("/hello")
public String sayHello(String name) {
return "Hello " + name + "!";
}
```
在上面的代码中,我们定义了一个 GET 请求的处理方法,其中 name 参数并没有使用任何注解进行绑定。这时,Spring MVC 会自动将 HTTP 请求中的 name 参数绑定到方法的 name 参数上。
例如,如果我们访问的 URL 是 /hello?name=World,那么方法的返回值就是 "Hello World!"。
2. 简单数据类型绑定
我们可以通过以下代码来演示 @RequestParam 和 @PathVariable 的使用:
```
@GetMapping("/user")
public String getUser(@RequestParam("id") int userId, @PathVariable("name") String userName) {
return "User " + userId + " is " + userName;
}
```
在上面的代码中,我们使用了 @RequestParam 注解将 HTTP 请求中的 id 参数绑定到方法的 userId 参数上,使用了 @PathVariable 注解将 URL 中的 name 变量绑定到方法的 userName 参数上。
例如,如果我们访问的 URL 是 /user?id=123&name=Tom,那么方法的返回值就是 "User 123 is Tom"。
3. pojo绑定
我们可以通过以下代码来演示 pojo 绑定,并解决中文乱码问题:
```
@PostMapping("/user")
public String addUser(@RequestBody User user) {
return "User " + user.getName() + " added";
}
```
在上面的代码中,我们定义了一个 POST 请求的处理方法,其中使用 @RequestBody 注解将 HTTP 请求的 body 绑定到方法的 user 参数上。为了解决中文乱码问题,我们需要在 Spring MVC 的配置文件中添加如下配置:
```
@Bean
public HttpMessageConverter<String> responseBodyConverter() {
StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
converter.setSupportedMediaTypes(Arrays.asList(MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON));
return converter;
}
```
这样,我们就可以通过发送 JSON 格式的请求体来添加用户了。
希望这些代码能够对您有所帮助!
阅读全文