1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Service Rest Tipo Post [Json] c# .net

Discussão em 'Web Development' iniciada por alfinete, 18 de Agosto de 2018. (Respostas: 0; Visualizações: 148)

  1. alfinete

    alfinete Power Member

    Tenho um serviço rest que recebe os seguinte parâmetros de entrada:

    Parametros de Request :

    Headers :

    · api-key

    Body :

    · grant_type

    · username

    · password

    · scope

    autorization:

    type: básica auth

    Username

    Password

    -------------------------

    Quando o executo no postman do chrome funciona correctamente



    Mas eu quero executa-lo no .net

    Ai não estou a conseguir faze-lo

    Queria que todos os parâmetros a cima fossem passados por Json .



    Esta a dar o seguinte erro :

    “The remote server returned an error: (400) Bad Request.”

    Código:
    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.IO;
    using System.Text;
    using System.Web.Script.Serialization;
    
    namespace WSRestPostTest
    {
      public partial class _Default : System.Web.UI.Page
      {
      protected void Page_Load(object sender, EventArgs e)
      {
      resttest();
      }
    
    
    
    
    
      private  void resttest  ()
      {
    
    
    
      string json = "{\"sjSonData\":[{"
      + "\"grant_type\" : \"password\","
      + "\"username\" : \"user\","
      + "\"password\" : \"password\","
      + "\"scope\" :\"user\","
      + "\"api-key\" : \"mykey\""
       
      + "}"
      +"]}";
    
      const string url = "http://MyService/oauth/token";
    
      //create an HTTP request to the URL that we need to invoke
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
      //request.ContentType = "application/json; charset=utf-8"; //set the content type to JSON
      request.ContentType = "application/json"; //set the content type to JSON
      request.Method = "POST"; //make an HTTP POST
       
      using (var streamWriter = new StreamWriter(request.GetRequestStream()))
      {
      //initiate the request
      JavaScriptSerializer serializer = new JavaScriptSerializer();
      var resToWrite = serializer.Deserialize<Dictionary<string, object>>(json);
      streamWriter.Write(resToWrite);
      streamWriter.Flush();
      streamWriter.Close();
      }
       
    
    
      System.Net.CredentialCache credentialCache = new System.Net.CredentialCache();
      credentialCache.Add(
      new System.Uri(url),
      "Basic",
      new System.Net.NetworkCredential("MyUserCredencial", "MyPassCredencial")
      );
    
    
      request.Credentials = credentialCache;
      request.PreAuthenticate = true;
    
       
    
    
    
      // Get the response.
      WebResponse response = request.GetResponse();
      var streamReader = new StreamReader(response.GetResponseStream());
      var result = streamReader.ReadToEnd();
    
       
      }
      }
    }
    
    
    agradecia uma Ajuda para esta questão

    obrigado
     

Partilhar esta Página