业务侧接收消息的接口样例
package your_controller_package;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/message")
public class RecvController {
@PostMapping("/recv")
public String recv(
@RequestParam String productKey,
@RequestParam String deviceName,
@RequestParam String method,
@RequestParam Long timestamp,
@RequestParam String nonce,
@RequestParam(required = false) String signature,
@RequestBody Map<String, Object> body) {
// 在这里处理你的业务逻辑
// 可以验证signature,来判断消息是否有过篡改
ObjectMapper mapper = new ObjectMapper();
log.info(productKey);
log.info(deviceName);
log.info(method);
log.info("{}", timestamp);
log.info("{}", nonce);
log.info("{}", signature);
try {
log.info("{}", mapper.writeValueAsString(body));
} catch (Exception e) {
log.error(e.getMessage());
}
return "success.";
}
}