处理HTTP响应状态的更好方法是什么?

时间:2012-01-09 07:58:02

标签: java android

HttpResponse response = mHttpClient.execute(mHttpGet);

    if(response.getStatusLine().getStatusCode() == 201){

    }
    .....

我有不同的状态,我需要处理它们以便稍后显示适当的状态相应的对话框消息。

处理HTTP响应状态的更好方法是什么?

3 个答案:

答案 0 :(得分:2)

您可以使用switch case

int status = response.getStatusLine().getStatusCode();

switch(status){
  case 201 : //do something ;
             break;

  so on...

  default : //do something else;
}

答案 1 :(得分:2)

另一种方式如下:

  1. 将这些状态代码和相应的消息放在属性文件中。 你可以做点什么 staus_201 =状态201的消息

  2. 收到状态后,从属性文件(see example)中检索相应的消息并显示它们。

  3. 优点是:对于任何新状态,您都不必进行任何代码更改。只需在属性文件中添加新条目,就可以了。

答案 2 :(得分:1)

首先,我建议使用symbolic names代替“魔术值”这样的事情:

int status = response.getStatusLine().getStatusCode();
if (status == HttpServletResponseCode.SC_CREATED) {
  ...
}

在这种情况下,如果你使用if或者switch-case就没关系......但最重要的是,使用符号名称代码会更具可读性。 (我不确定你使用的是哪个库...我假设每个库都有this这样的常量。)。