【问题标题】:RESTful API built-in errorsRESTful API 内置错误
【发布时间】:2018-10-13 14:24:17
【问题描述】:

有谁知道为什么 REST API 不支持内置错误处理? 我的意思是它只是一种可以用一种语言实现的架构模式。那么编程语言怎么可能不处理错误呢?

【问题讨论】:

  • 编程语言和协议不处理错误,它们只是提供程序员可以编写代码来引发和处理错误的机制。您是在询问特定库实现或框架的错误处理能力吗?
  • 我的主要问题是为什么 SOAP API 支持内置错误处理而 REST API 不支持?
  • 这些基本上是协议,作为协议,它们都提供错误机制,在最基本的层面上,HTTP 状态代码。您正在使用的语言和库或框架的名称是什么?你到底有什么问题?
  • @DaveM 我正在​​研究 c# winforms 中客户端和服务器之间的一些连接方式,我将这两者作为 Web 服务进行比较。我想知道它们之间存在这种差异的原因。
  • 这不是他们之间的区别。它们都提供错误机制。你从哪里得到这些信息的?

标签: c# rest api soap


【解决方案1】:

编程语言(在本例中为 C#)处理错误(据我了解您在谈论异常)。在任何架构师、设计..实施中,您都可以选择如何来做到这一点。 Restful API 主要提供服务来简化架构的构建,例如公开动态 url、轻松控制正文请求等,但异常处理是用语言编写的,可以随意使用。此外,大多数支持 HTTP 错误(通常在这里说必须)将它们作为对请求的响应来传递,作为处理错误的一部分或不作为处理错误的一部分。我认为这个问题和答案对你来说是很好的阅读。

Best practice to return errors in ASP.NET Web API

【讨论】:

    【解决方案2】:

    您使用哪个平台? asp.net mvc 还是 .net 核心? 我使用的是 .net core,这里是示例代码:

     public class Startup
     {
       public void Configure(IApplicationBuilder app, IHostingEnvironment env)
       {
         if (env.IsDevelopment() || env.IsStaging())
         {
             app.UseDeveloperExceptionPage();
         }
    
         app.Run(context => { throw new Exception("error"); });
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2013-03-14
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多