一只倔强的笨猪

【Spring Boot】发送post请求解析XML

这里采用短信发送作为案例,先发送post请求,然后解析xml。

1.导入Maven。

		<!-- 解析xml -->
        <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
		<dependency>
		    <groupId>dom4j</groupId>
		    <artifactId>dom4j</artifactId>
		    <version>1.6.1</version>
		</dependency>

2.编写发送请求和解析类。

	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = { Exception.class })
	public void sendMessage(Verification verification) {
		// TODO 短信发送
		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
		params.add("userid", "");
		params.add("account", "");
		params.add("password", "");
		params.add("mobile", verification.getVoContent());
		params.add("content", "【笨猪网】您的验证码为["+verification.getVoVerification()+"]");
		params.add("action", "send");
		params.add("sendTime", "");
		params.add("extno", "");
		RestTemplate client = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        HttpMethod method = HttpMethod.POST;
        // 以表单的方式提交
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        //将请求头部和参数合成一个请求
        HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
        //执行HTTP请求,将返回的结构使用ResultVO类格式化
        ResponseEntity<String> response = client.exchange("请求的地址", method, requestEntity, String.class);
        String xml = response.getBody();
        try {
			Document dom = DocumentHelper.parseText(xml);
			Element root=dom.getRootElement();
			//写入数据库记录,可以自己写
			this.messageInfoMapper.insertMessageInfo(new MessageInfo(null, verification.getVoContent(), root.element("returnstatus").getText(), root.element("message").getText(), root.element("taskID").getText(), DateUtil.getNow()));
		} catch (DocumentException e) {
			// TODO 处理异常
			e.printStackTrace();
		}
	}
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注