我正在使用jersey
框架的最新版本,我遇到了post方法的一些问题。我必须传递ByteArrayInputStream
的实例,但它不接受它。我已经完成了文档,但它并没有很好地解释它。而且,我如何指定MediaType?
Response tokenResponse = resourceGetToken.request()
.header( KeyConstants.REST_URI_APPENDERS, tokenSb )
.header( DocusignRESTContants.CONTENT_TYPE, DocusignRESTContants.APPLICATION_XML )
.header( DocusignRESTContants.X_DOCUSIGN_AUTHENTICATION, getDocusignAuthHeader( cu ) )
/*.accept( MediaType.APPLICATION_XML )*/
.post( Response.class, new ByteArrayInputStream( tokenStream.toString().getBytes() ) );
由于
答案 0 :(得分:1)
您需要传递Entity
,您还可以在其中指定正文的媒体类型
对于||
,xml
和json
,分别有form
application/xml
application/json
等静态便捷方法。但是如果你需要一个不同的类型,那么你可以使用静态application/x-www-form-urlencoded
方法,其中第二个参数是媒体类型
entity
此外,还有.post(Entity.json(yourBody));
.post(Entity.xml(yourBody));
.post(Entity.entity(yourBody, yourMediaType));
课程。除非您的常量使用非标准媒体类型,否则最好只使用MediaType
常量,例如MediaType