必要なパッケージ情報を入力した後、goShippo API 呼び出し (Transaction.create(Map, apiKey)) を使用して、応答されたトランザクション オブジェクトを作成することができました。応答されたトランザクション オブジェクトから、配送ラベルを Url として取得できます: transaction.getObjectId()。
私が抱えている問題は、クライアントが配送ラベルをダウンロードできるようにする方法です。
私の現在のコードは次のとおりです。
fileName= "https://shippo-delivery-east.s3.amazonaws.com/b1b0e6af.pdf?xxxxxx";
File file = new File(fileName);
String mineType = URLConnection.guessContentTypeFromName(file.getName());
if(mineType == null) {
System.out.println("mineType is not detectable");
mineType = "application/octet-stream";
}
response.setContentType(mineType);
response.setHeader("Content-Disposition"
, String.format("inline; filename=\"" + file.getName() +"\""));
response.setContentLength((int)file.length());
InputStream inputStream = new BufferedInputStream(new FileInputStream(file));
FileCopyUtils.copy(inputStream, response.getOutputStream());
ファイルが見つからないというエラーが発生しましたが、ブラウザで fileName を渡すと、配送ラベルが表示されます。