我正在使用运行 Express 3.0 的 Node.js 服务器。
在我的应用程序的一个部分中,我将 json 发布到一个 URI 以在 /api/transactions/powerup 购买电源。这有几个返回选项。
我要么收到 201 表示交易有效,要么收到 404 表示请求因资金不足而无效。我的问题是,如果我想仅根据 ResponseEntity 中的标头告诉 android 客户端它是否成功。
没有 json传递回客户端,因为 HTTP 代码可以告诉我它是否成功。有谁知道如何做到这一点?
PowerupPurchase purchase = new PowerupPurchase();
purchase.setPowerId(params[0]);
final String url = getString(R.string.external_api_url) + "/transactions/powers?apiKey="+mCurrentUser.getApiKey();
Log.i(TAG,url);
// create the headers
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
requestHeaders.setAcceptEncoding(ContentCodingType.GZIP);
requestHeaders.setContentType(MediaType.APPLICATION_JSON);
// Create the Json that will be exchanged
HttpEntity<?> requestEntity = new HttpEntity<PowerupPurchase>(purchase, requestHeaders);
// Create a new RestTemplate instance
RestTemplate restTemplate = new RestTemplate();
MappingJacksonHttpMessageConverter converter = new MappingJacksonHttpMessageConverter();
List<MediaType> mediaList = new LinkedList<MediaType>();
mediaList.add(new MediaType("application","octet-stream",Charset.forName("UTF-8")));
converter.setSupportedMediaTypes(mediaList);
restTemplate.getMessageConverters().add(converter);
try {
// Make the network request
ResponseEntity<?> response = restTemplate.postForEntity(url, requestEntity, Object.class);
// HOW DO I GET THE HEADERS??
response.getHeaders()
400 似乎总是在 Spring Android 中抛出错误无论如何我可以简单地查看 http 标头而不必担心返回对象映射到?