打开 REST Web 服务返回的 PDF

Sim*_*mmo 0 java pdf rest json

我有一个 JAXB REST Web 服务请求一个 JSON 的 POST 请求,并且应该返回一个 PDF 文档作为响应:

@POST
@Path("getReceipt")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ "application/pdf" })
public Response getReceipt(InputStream incomingData, @Context HttpServletRequest httpRequest) {
...
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 Advanced Rest Client(Google Chrome 插件)对其进行测试,它显示以下响应:

%PDF-1.4
%????
3 0 obj
<</C[0 0 1]/Border[0 0 0]/A<</URI(https://www.totalerg.it/)/S/URI>>/Subtype/Link/Rect[491.43 723.5 557 733.5]>>
endobj
4 0 obj
<</C[0 0 1]/Border[0 0 0]/A<</URI(https://www.totalerg.it/)/S/URI>>/Subtype/Link/Rect[256.65 274.5 322.22 284.5]>>
endobj
5 0 obj
<</Length 993/Filter/FlateDecode>>stream
x??U?n?8}?W?[??Ð????lG?j???}Y0kpaK?,%???s?3vHY????"9??G/%>?9??gD???????;?(  \|:+WP?h?|D?zo?????)??????h???????L2CR??a?%L?
????:??&??g L???1??Oq???9M?[<?-??????r???
wL?2?:W?m#??J???\*??":??Ld7?]
?3?6?E??Kn_<?}?;???,??g?????uk??D^O??6~??Y????]?=1??gq:???v?l??"??o??x????a?09?3H???VeSY???,?A????l??^*(??W?BE#J?PKX??F??s?^??
?H?)??? ??V??
?k<???FntUj<??!F?/
???U#dU#?q?]ZzUnd?I??Z?w?w'??%??l?4?^!G???~????n??????,&?U?1teT"u^???r?P?Bw?:YkLX_:??????????Mw??P"???\!%???7????zWO}Yp???h?8?????n?]?? ;x?o?2w?38??.??/?~?+e"pC?????k?]?c#
?????E?{?}?nZ??8?35T?IC+??6?6????E???">J??AZ???F??#??j*????*7?#Pm]????e?e???U?,???!?j?Z??B?de?????????A?i????`\T0?0r??????? ?G#A???????????f???'??????,6c?.?4?O?Y:6C.6?}?!]éy?{E????>?<??u?y$??9??L???f?]?T????/w?????????^qj?[?r??U)g1b??????W?????*1??????????8?F?c??B^?bk?n=??u??x?;?]?H0rsg???tI[x?????G?0?????@p?EW??B???????L?
endstream
endobj
7 0 obj
<</Parent 6 0 R/Contents 5 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]/Font<</F1 1 0 R/F2 2 0 R>>>>/MediaBox[0 0 595 842]/Annots[3 0 R 4 0 R]>>
endobj
1 0 obj
<</BaseFont/Helvetica/Type/Font/Encoding/WinAnsiEncoding/Subtype/Type1>>
endobj
2 0 obj
<</BaseFont/Helvetica-Bold/Type/Font/Encoding/WinAnsiEncoding/Subtype/Type1>>
endobj
6 0 obj
<</ITXT(2.1.7)/Type/Pages/Count 1/Kids[7 0 R]>>
endobj
8 0 obj
<</Type/Catalog/Pages 6 0 R>>
endobj
9 0 obj
<</Producer(iText 2.1.7 by 1T3XT)/ModDate(D:20150907102806+02'00')/CreationDate(D:20150907102806+02'00')>>
endobj
xref
0 10
0000000000 65535 f 
0000001518 00000 n 
0000001606 00000 n 
0000000015 00000 n 
0000000142 00000 n 
0000000272 00000 n 
0000001699 00000 n 
0000001332 00000 n 
0000001762 00000 n 
0000001807 00000 n 
trailer
<</Root 8 0 R/ID [<f16ea10e09183af8aff079f97cfac53f><fe60918ac5b80276ed8a082dedebf230>]/Info 9 0 R/Size 10>>
startxref
1929
%%EOF
Run Code Online (Sandbox Code Playgroud)

这个二进制文件的文本版本与我看到的使用文本编辑器从文件系统打开二进制文件的二进制文件不同(更多问题标记字符代替其他字符)。

我的问题是:我如何测试该服务发布 JSON 请求并能够在响应中打开 PDF 文档?我应该使用其他工具还是构建表单?

小智 5

“保存回复”按钮可帮助您将回复保存到文件:

在此处输入图片说明