0
jsonを扱うだけでなく、非常に汎用的なapiにGroovy HTTPBuilder
を使用しています。そのため、私は自分自身でレスポンスをどのように逆シリアル化するかを制御したいと思っています。しかし、レスポンスハンドラはコンテンツタイプapplication/json
を常にマップに解析しているようです。どのようにプレーンテキスト(またはバイト[])を得ることができますか?HTTPBuilderがapplication/jsonのような特定のコンテンツタイプを解析するのを止める方法
def lambda = new HTTPBuilder(lambdaUrl)
lambda.request(method) {
send contentType, payload
response.success = { resp, reader ->
if (log.isDebugEnabled())log.debug("response: $resp")
lambdaResponseStatus = resp.statusLine.statusCode
lambdaResponse = Reader.isAssignableFrom(reader.getClass()) ? reader.text : reader.toString()
}
}
reader.toString()
は基本的にのLinkedHashMapのtoStringを呼び出しであることに留意されたいです。しかし、私が実際に望んでいるのは、レスポンスにどのようなコンテンツタイプが入っても、単純な読者だけです。