代码之家  ›  专栏  ›  技术社区  ›  gurghet

我的客户机查询我的服务器。如果回答是否定的(例如错误),我应该如何沟通?

  •  0
  • gurghet  · 技术社区  · 15 年前

    我应该依赖HTTP状态代码吗?还是应该使用某种特殊的响应? 我的服务器正在运行PHP并生成简单的JSON响应。

    2 回复  |  直到 15 年前
        1
  •  1
  •   halfdan    15 年前

    我个人认为你应该两者兼得!返回一个适当的4xx/5xx状态代码,以显示出问题所在,并在JSON响应中包含一条消息。

    例如,对于成功的请求:

    {
      "success": "true"
    }
    

    对于失败(例如不允许405方法):

    {
      "success": "false",
      "message": "Requested data not available"
    }
    
        2
  •  1
  •   Siva Gopal    15 年前

    如果可以使用具有以下两个属性的实体,则可能会更好: Status & Message .

    从上述实体继承查询结果实体 .

    如果操作成功,则设置 Status to True 其他设置 Status to False 并设置适当 error message into the Message property of above entity .

    请记住,最好不要将确切的数据库错误放入客户端显示中。这可能会增加黑客攻击的机会,相反,您可以在服务器上记录准确的消息,以便相关人员可以在出现问题时检查消息。

    所以, if Status=True 然后只有客户端才能进一步处理消息(如访问属性或显示属性等)。 else if Status=False ,然后在数据访问逻辑中设置错误文本, Message 将显示属性。

    推荐文章