【问题标题】:REST client vb.netREST 客户端 vb.net
【发布时间】:2014-08-04 12:35:14
【问题描述】:

我在 VB.net 中创建了一个使用 MYSQL 数据库的项目。我喜欢用我用 Nodejs 构建的 restfull 服务器来改变它

所有查询都在MYSQL中,例如这个。

Function checkuser(ByVal gebruikersnaam As String, ByVal password As String) As Object
        cmd = New MySqlCommand("SELECT * FROM members WHERE username LIKE '" & gebruikersnaam & "' AND password LIKE '" & password & "'", con)
        con.Open()
        reader = cmd.ExecuteReader
        If reader.HasRows Then
            Return reader
        Else
            MsgBox("De inloggevens zijn helaas niet goed")
            con.Close()
            Return Nothing
        End If

    End Function  

您可以看到我正在使用 reader = cmd.ExecuteReader 返回我的数据。有没有办法将此mysql代码重写为restfull代码,并返回与mysql使用相同的数据。

在 Google,我找到了 RestSharp。但是这个框架返回的数据结构和 ExecuteReader 一样吗?

【问题讨论】:

    标签: .net json vb.net rest restsharp


    【解决方案1】:

    简而言之,没有。 ExecuteReader 将返回一个专门用于处理数据库返回的数据行的类;您的 API 可能会以 JSON 或 XML 的形式返回序列化数据。

    您需要工作的抽象级别比这更高:RESTful API 客户端返回“数据库行”对象是没有意义的,而是在“下一个级别”(架构上) 你可能会发现一些共性。来自 RESTful API 的数据通常可以反序列化为一个简单的对象(或对象列表),并且在许多直接与数据库对话的系统中,DataReader 的输出将用于创建类似的对象(或对象列表)对象)。这是您的两个实现通常会汇合的层。

    您从函数中返回reader 的事实表明您在现有代码中可能没有这种抽象级别(也许您的前端/业务层直接使用reader)。如果是这种情况,您可能需要进行更彻底的重构才能使用 REST 服务的输出。

    【讨论】:

      猜你喜欢
      • 2013-07-07
      • 2014-05-15
      • 1970-01-01
      • 2023-04-04
      • 2018-10-01
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多