{ "configIp": "10.64.13.14", "configPort": "8092" } 这个报文用springMVC post类型方法怎么接收参数
时间: 2024-08-16 12:08:38 浏览: 85
在 Spring MVC 中,如果你想要接收到像 `{ "configIp": "10.64.13.14", "configPort": "8092" }` 这样的 JSON 格式 POST 请求,你需要使用 `@RequestBody` 注解配合一个对应的 Java 对象来接收数据。首先,创建一个 POJO (Plain Old Java Object),比如:
```java
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
public class AppConfig {
private String configIp;
private String configPort;
@JsonDeserialize(builder = AppConfig.Builder.class)
public static class Builder {
// 使用 JsonPOJOBuilder 创建构建器,可以方便地设置属性
public static AppConfig build(String configIp, String configPort) {
AppConfig appConfig = new AppConfig();
appConfig.configIp = configIp;
appConfig.configPort = configPort;
return appConfig;
}
}
// 使用 JsonPOJOBuilder 构建器创建对象
@JsonPOJOBuilder(withPrefix="")
public static final class Builder {
// 省略具体实现
}
}
```
接下来,在你的 Controller 方法中使用 `@PostMapping` 并且将接收参数的方法声明为 `AppConfig` 类型:
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@PostMapping("/api/config")
public String processConfig(@RequestBody AppConfig AppConfigData) {
// 这里 AppConfigData 就是你从 POST 请求中解析出的对象
System.out.println("Received Config: IP - " + AppConfigData.getConfigIp() + ", Port - " + AppConfigData.getConfigPort());
// ...其他业务逻辑
return "response";
}
```
这样,当发送一个 POST 请求到 `/api/config` 路径,并携带 JSON 数据,Spring MVC 会自动将数据解析成 `AppConfig` 对象并传递给 `processConfig` 方法。
阅读全文