如何解决如何在spring boot项目中从苹果服务器通知接收数据
如何在spring boot server上定义endpoint来接收应用doc后接收服务器通知,这就是我现在正在做的:
@Api
@RequestMapping("/post/notification")
@FeignClient(name = "dolphin-post-service")
@Validated
public interface IAppleServerNotificationController {
/**
* Receive Apple Server Notification
* @param
* @return
*/
@PostMapping("/v1/appleSeverNotification")
Response<Integer> handleNotification(@RequestBody @Valid ServerNotificationRequest request);
}
这是我定义的实体:
@Data
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnkNown = true)
public class ServerNotificationRequest implements Serializable {
@ApiModelProperty(value = "responseBody")
@NonNull
private String responseBody;
}
但它似乎不起作用。我哪里错了?有什么建议吗?
@Override
@NoCheck
public Response<Integer> handleNotification(ServerNotificationRequest request) {
JSONObject jsonResult = JSONObject.parSEObject(request.getResponseBody());
AppleServerNotificationRecord record = new AppleServerNotificationRecord();
record.setResponseBody(request.getResponseBody());
record.setNotificationType(jsonResult.getString("notification_type"));
int result = notificationRecordService.saveNotificationRecord(record);
return new Response<>(result);
}
响应体为空!!!
解决方法
像这样定义请求实体:
@Data
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class ServerNotificationRequest implements Serializable {
@ApiModelProperty(value = "auto_renew_adam_id")
@JsonProperty("auto_renew_adam_id")
private String autoRenewAdamId;
@ApiModelProperty(value = "auto_renew_product_id")
@JsonProperty("auto_renew_product_id")
private String autoRenewProductId;
@ApiModelProperty(value = "auto_renew_status")
@JsonProperty("auto_renew_status")
private String autoRenewStatus;
@ApiModelProperty(value = "auto_renew_status_change_date")
@JsonProperty("auto_renew_status_change_date")
private String autoRenewStatusChangeDate;
@ApiModelProperty(value = "auto_renew_status_change_date_ms")
@JsonProperty("auto_renew_status_change_date_ms")
private String autoRenewStatusChangeDateMs;
@ApiModelProperty(value = "auto_renew_status_change_date_pst")
@JsonProperty("auto_renew_status_change_date_pst")
private String autoRenewStatusChangeDatePst;
@ApiModelProperty(value = "environment")
private String environment;
@ApiModelProperty(value = "expiration_intent")
@JsonProperty("expiration_intent")
private Integer expirationIntent;
@ApiModelProperty(value = "notification_type")
@JsonProperty("notification_type")
private String notificationType;
@ApiModelProperty(value = "password")
@JsonProperty("password")
private String sharedSecret;
//@ApiModelProperty(value = "unified_receipt")
//@JsonProperty("unified_receipt")
//private String unifiedReceipt;
@ApiModelProperty(value = "bid")
private String bid;
@ApiModelProperty(value = "bvrs")
private String bvrs;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。