JSON
{
"data": {
"userName": "abc",
"message": "Testing service",
"mobileno": [{
"mobilenumber": "90000000000"
},
{
"mobilenumber": ""
},
{
"mobilenumber": ""
},
{
"mobilenumber": ""
}
]
}
}
我们必须在kafka主题上发送上面的json,但是我们无法发送特定的json格式。
以下是我们正在尝试的代码:
MobileController类
@Controller
public class MobileController {
@RequestMapping(value = "/mobile", method = RequestMethod.POST)
public void dataFromEs(@RequestParam("name") String name,
@RequestParam("message") String message,
@RequestParam("mobileNo") String[] mobileNo)
throws JsonProcessingException {
Properties props = new Properties();
props.put("metadata.broker.list", "hostname:port");
props.put("serializer.class", "kafka.serializer.StringEncoder");
props.put("request.required.acks", "1");
ProducerConfig producerConfig = new ProducerConfig(props);
List<KeyedMessage<String, String>> msgList = new ArrayList<KeyedMessage<String, String>>();
String topic = "qwerty";// topic name
Data data = new Data();
data.setUserName(name);
data.setMobileNo(mobileNo);
data.setMessage(message);
KeyedMessage<String, String> keyedMessage1 = new KeyedMessage<String, String>(
topic, data.toString());
msgList.add(keyedMessage1);
Producer<String, String> post = new Producer<String, String>(
producerConfig);
// post.send(messages);
post.send(msgList);
}
}
数据类
以下是getter setter类
import java.util.Arrays;
public class Data {
private String userName;
private String message;
private String[] mobileNo;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String[] getMobileNo() {
return mobileNo;
}
public void setMobileNo(String[] mobileNo) {
this.mobileNo = mobileNo;
}
@Override
public String toString() {
return "{data: {userName:" + userName + ", message:" + message
+ ", mobileNo:mobilenumber" + Arrays.toString(mobileNo) + "}";
}
}
我们正在制作一个网络服务,在控制器中我们将拥有用户名,消息和多个手机号码。 即一个用户将向多个手机号码发送消息。任何帮助都会很明显。