post请求后端接受两个参数,不使用实体类接收,contraller怎么写,不使用map接受
时间: 2024-09-28 21:07:45 浏览: 36
在Spring MVC或者类似的框架中,如果你想要在控制器(Controller)处理POST请求时不使用实体类(Entity)和`@ModelAttribute`,并且直接从HTTP Body接收到两个参数,你可以通过`ModelAndView`对象的`model`属性来添加和获取数据。这里是一个简单的例子:
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class CustomController {
@PostMapping("/example")
public ModelAndView handlePost(@RequestBody Map<String, String> requestBody) {
// 检查参数是否已存在
if (requestBody.containsKey("param1") && requestBody.containsKey("param2")) {
String param1 = requestBody.get("param1");
String param2 = requestBody.get("param2");
// 进行一些业务处理,如数据库操作或其他逻辑
// ...
// 创建并返回ModelAndView
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("yourView"); // 视图名称
modelAndView.addObject("param1", param1);
modelAndView.addObject("param2", param2);
return modelAndView;
} else {
// 参数缺失处理
throw new IllegalArgumentException("Both 'param1' and 'param2' are required.");
}
}
}
```
在这个示例中,`@RequestBody`注解用于直接将请求体解析为一个Map,然后你可以通过键来访问参数。注意,你需要根据实际的参数命名来获取`requestBody.get()`值。
阅读全文