Я пытаюсь создать две службы отдыха для pkpass с springboot.Один, который создает файлы pkpass на основе некоторых параметров, а другой - pkpass.Созданный мной pkpass работает с Pass2U Wallet в устройствах Android.Однако всякий раз, когда я открываю файл в Safari в iOS 10.3.3 в iphone 5c, я получаю сообщение об ошибке: «Ошибка загрузки: Safari не может загрузить этот файл».Код, который я реализовал для получения pkpass:
@RestController
public class PKPassController {
@RequestMapping(method = RequestMethod.GET, value = "/webservice/getpkpass", headers = "Accept=application/json", produces = "application/vnd.apple.pkpass")
@ResponseBody
public ResponseEntity<Resource> getPKPass() throws IOException {
URL url = getClass().getClassLoader().getResource("tmp/test.pkpass");
InputStream in = new FileInputStream(url.getPath());
File file = new File(url.getPath());
InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
headers.add("Pragma", "no-cache");
headers.add("Expires", "0");
headers.add("Content-Type","application/vnd.apple.pkpass");
headers.add("Content-Disposition","attachment; filename='test.pkpass'");
headers.add("Content-Length",Long.toString(file.length()));
return ResponseEntity.ok()
.headers(headers)
.body(resource);
}
}
Я не уверен, что мне следует проверить дальше.Я не уверен, что что-то не так с сертификатом или с тем, как я внедрил службу.
Спасибо