c# array kosong sebagai respons dari laravel

Saya mempunyai masalah dengan satu layanan dan c#, layanan ini ditulis dalam laravel dan dikonsumsi oleh c#, masalahnya adalah respon laravel tidak dibaca oleh c#.

Saya mencoba layanan dengan tukang pos, dan berfungsi dengan benar.

Saat mencoba dengan c#, laravel kembali sebagai respons: array kosong saat menggunakan json atau string kosong saat menggunakan string nilai dari permintaan yang sama diteruskan.

kode c#:

        string token =  GetAuthToken();

        var request = WebRequest.Create("url") as HttpWebRequest;
        request.Method = "POST";
        request.Accept = "application/json";
        request.Headers.Add("Authorization", "Bearer " + token);


        using (var streamWriter = new StreamWriter(request.GetRequestStream()))
        {
           streamWriter.Write(activities);
        }
        try
            {

            var response = request.GetResponse() as HttpWebResponse;

            if (response.StatusCode == HttpStatusCode.OK)
            {
              (var streamReader = new StreamReader(response.GetResponseStream(),Encoding.UTF8))
                {
                    //return a empty array or empty string
                    var result = streamReader.ReadToEnd();
                }

            }
        }
        catch(Exception e)
        {
            throw e;

        }

Kode Laravel:

     public function SetActivities(Request $request)
{
    //return value: HULE
    $re = $request[0]['Name'];
    return $re;

}

Tukang pos menunjukkan nilai yang dikembalikan sebagai: HULE tetapi di c# nilainya es: ""

Saat mengubah kode di laravel untuk ini:

 public function SetActivities(Request $request)
{
    $re = 'a';
    return $re;

}

Tukang pos : a

C#: a

Mengapa yang kedua berfungsi dengan benar?


person Crashman    schedule 27.10.2019    source sumber
comment
Jika pengembalian 'a' berhasil maka masalahnya ada pada $re = $request[0]['Name'];   -  person Patrick Goode    schedule 27.10.2019
comment
Hai Patrick, kalimat itu berfungsi dengan benar saat menggunakan pemeriksaan tukang pos, itu aneh.   -  person Crashman    schedule 28.10.2019
comment
Menemukan masalahnya adalah permintaan akses: $act = $request-›json()-›all(); juga ini: $request-›getContent();   -  person Crashman    schedule 28.10.2019


Jawaban (1)


Ditemukan

kode yang benar:

 $request->getContent();
 //also this one works
 $request->json()->all();

bukannya kalimat $request saja.

person Crashman    schedule 27.10.2019