Visual Basic.NET - Consulta Web Api GET

 
Vista:
sin imagen de perfil

Consulta Web Api GET

Publicado por Andrés (3 intervenciones) el 26/10/2021 00:58:31
Alguien me puede explicar como realizar una petición get por visual basic, realmente no conozco mucho del tema y estoy bastante frustrado pues no encuentro mucha documentación, al ser este un lenguaje viejo, lo que se me pide es hacer una validación con una petición de una sola instrucción,

Lo siguiente es el json que aparece en postman al dirigirte al enlace de la petición:

get

Solo me regresa esa información, alguien conoce documentación o podría hacerme una pequeña guía, para entender como debo codificarlo para trasladarlo a un string o booleano, es una petición GET.

Esta es la petición: (utiliza un valor numérico y una fecha donde hace una consulta a un server)
https://cftest.dswenlinea.mx/api/Auth/10014353/1987-07-08
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Consulta Web Api GET

Publicado por Giancarlo (488 intervenciones) el 26/10/2021 16:50:47
puedes convertir el texto a una clase con newtonsoft
1
2
Dim rspta As Response = API.Consumir
                sesion = JsonConvert.DeserializeObject(Of Sesion)(rspta.Data)

puedes usar esta clase para consumir el rest y obtener el string:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Imports System.IO
Imports System.Net
Imports System.Text
Imports Newtonsoft.Json
 
#Region "Estructura y enum"
Public Structure Parametro
        Sub New(ByVal atrib As String, ByVal valo As String)
            Atributo = atrib
            Valor = valo
        End Sub
 
        Property Atributo As String
        Property Valor As String
    End Structure
 
    Public Structure Response
        Property StatusCode As Integer
        Property Succes As Boolean
        Property Data As String
    End Structure
 
    Public Enum Metodo As Integer
        MetodoGET = 0
        MetodoPOST = 1
    End Enum
 
    Public Enum ContentType As Integer
        json = 0
        formUrlEncoded = 1
    End Enum
#End Region
 
    Friend Class ConsumeRest
 
#Region "Propiedades"
        Public Property UrlDestino As String
        Public Property Metodo As Metodo
        Public Property Headers As List(Of Parametro)
        Public Property ContentType As ContentType
        Public Property PreguntaJson As String
 
#End Region
 
        Sub New()
        End Sub
 
        Sub New(ByVal tipoMetodo As Metodo)
            Metodo = tipoMetodo
        End Sub
 
        Private Request As HttpWebRequest
        Private RslJson As Response = Nothing
 
        Private Sub AgregarContentType()
            'tipo de contenido
            Select Case ContentType
                Case ContentType.json
                    Request.ContentType = "application/json;"
                Case ContentType.formUrlEncoded
                    Request.ContentType = "application/x-www-form-urlencoded;"
                Case Else
                    Throw New Exception("ContentType no admitido")
            End Select
            Request.ContentType &= "charset=utf-8"
            Request.Accept = "application/json"
        End Sub
 
        Private Sub AgregarHeaders()
            'agregando headers
            If Headers IsNot Nothing Then
                For Each ele As Parametro In Headers
                    Request.Headers.Add(ele.Atributo, ele.Valor)
                Next
            End If
        End Sub
 
        Private Sub AgregarMetodo()
            'metodo
            Select Case Metodo
                Case Metodo.MetodoGET
                    Request.Method = "GET"
                Case Metodo.MetodoPOST
                    Request.Method = "POST"
                Case Else
                    Throw New Exception("Metodo no admitido")
            End Select
        End Sub
 
        Friend Function Consumir() As Response
            'Dim postString As String = JsonConvert.SerializeObject(claseObjeto)
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
            Request = HttpWebRequest.Create(UrlDestino)
            Call AgregarContentType()
            Call AgregarHeaders()
            Call AgregarMetodo()
 
            If PreguntaJson.Length > 0 Then
                Dim data As Byte() = UTF8Encoding.UTF8.GetBytes(PreguntaJson)
                Dim dataStream As Stream = Request.GetRequestStream
                dataStream.Write(data, 0, data.Length)
                dataStream.Close()
            End If
 
            Try
                Using respuesta As HttpWebResponse = Request.GetResponse
                    RslJson = New Response
                    RslJson.StatusCode = respuesta.StatusCode
 
                    Using vStream As Stream = respuesta.GetResponseStream
                        Using vReader As New StreamReader(vStream)
                            RslJson.Data = vReader.ReadToEnd
                            'rslJson.Objeto = JsonConvert.DeserializeObject(Of Object)(rslJson.Json)
                            vReader.Close()
                        End Using
                        vStream.Close()
                    End Using
 
                    respuesta.Close()
                End Using
            Catch ex As Exception
                Throw ex
            End Try
 
            Return RslJson
        End Function
    End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar