Подключение к REST API с помощью веб-приложения ASP.NET - PullRequest
0 голосов
/ 16 января 2019

У меня есть этот код на моем веб-сайте, который я пытаюсь сделать POST-запрос к этому API под названием schooltime https://schooltimeapp.docs.apiary.io/#introduction/requirements-for-apps-using-the-schooltime-api. В настоящее время я пытаюсь опубликовать 4 значения из моего текстового поля в REST API, но я в настоящее время возникают некоторые проблемы с этим, поскольку я впервые использую C # для подключения к API.

Любая помощь будет принята с благодарностью!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Web.Script.Serialization;
using System.IO;

public partial class _Default : System.Web.UI.Page
{

    private const string URL = "https://school-time.co/app2/index.php/api/students/";
    private string urlParameters = "StRest@123";
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public class Result
    {
        public string id { get; set; }
        public string name { get; set; }
        public string email { get; set; }
        public string message { get; set; }
    }

    protected void Button_Add_Click(object sender, EventArgs e)
    {

        string name = TextBox_Name.Text;
        string pass = TextBox_Pass.Text;
        string email = TextBox_Email.Text;
        string birthdate = TextBox_Birth.Text;

        var webRequest = (HttpWebRequest)WebRequest.Create("https://school-time.co/app2/index.php/api/students/");

        var webResponse = (HttpWebResponse)webRequest.GetResponse(); if (webResponse.StatusCode == HttpStatusCode.OK)
        {



        }
        else Label1.Text = "Invalid Response";
    }

}

1 Ответ

0 голосов
/ 16 января 2019

Вы можете использовать такой клиент, как RestSharp, а затем использовать Postman для генерации кода на C #.

При вашей текущей настройке что-то подобное в вашем Button_Add_Click может работать (я не проверял это):

var webRequest = (HttpWebRequest)WebRequest.Create("https://school-time.co/app2/index.php/api/students/");

var postData = "name=hello";
    postData += "&email =world@test.com";
    //add other attributes...

var data = Encoding.ASCII.GetBytes(postData);

webRequest.Method = "POST";
webRequest.Headers.Add("ST-API-KEY", "StRest@123");
webRequest.ContentType = "application/json";

using (var stream = webRequest.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}

var response = (HttpWebResponse)webRequest.GetResponse();

var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...