ฉันมีปัญหากับหนึ่งบริการและ c# บริการเขียนด้วย laravel และใช้โดย c# ปัญหาคือการตอบสนองของ laravel ไม่ถูกอ่านโดย c#
ฉันลองใช้บริการกับบุรุษไปรษณีย์และทำงานได้อย่างถูกต้อง
เมื่อลองด้วย c# laravel จะส่งกลับเป็นการตอบกลับ: อาร์เรย์ว่างเมื่อใช้ json หรือสตริงว่างเมื่อใช้สตริงค่าจากคำขอเดียวกันที่ส่งผ่าน
รหัส 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;
}
รหัสลาร์ราเวล:
public function SetActivities(Request $request)
{
//return value: HULE
$re = $request[0]['Name'];
return $re;
}
บุรุษไปรษณีย์แสดงค่าที่ส่งคืนเป็น: HULE แต่ใน c# ค่า es: ""
เมื่อเปลี่ยนรหัสใน laravel สำหรับสิ่งนี้:
public function SetActivities(Request $request)
{
$re = 'a';
return $re;
}
บุรุษไปรษณีย์:
C#: a
เหตุใดงานที่สองจึงถูกต้อง