Bir REST API'sı için RestSharp kullanarak sorun yaşıyorum Çalıştığım bir proje için kullanmam gerekiyor. Sormam gereken istek üç bölümden oluşuyor: Bir başlık API anahtarı, yüklenecek bir dosya ve JSON biçimindeki bir grup veri. API, veri bölümünün "veri" form alanı adı kullanılarak gönderilmesini gerektirir. Bazı nedenlerden dolayı bu, soruna neden olan "veri" alanını isimlendirdiği için sorunlara neden oluyor.HTTP POST Çoklu Gönderme/form verileri alanı RestSharp kullanarak gönderme
var request = new RestRequest(UPLOAD_DOC_URLSEGMENT, Method.POST)
{
RequestFormat = DataFormat.Json,
AlwaysMultipartFormData = true,
JsonSerializer = new RestSharpJsonDotNetSerializer(customSerializer)
};
if (doc is DocA)
request.AddParameter("data",doc as DocA,ParameterType.RequestBody);
//request.AddBody(doc as DocA);
else
request.AddParameter("data", doc as DocB,ParameterType.RequestBody);
//request.AddBody(doc as DocB);
request.AddFile("file", doc.File.FullName);
ben request.AddBody(doc)
yöntem ve request.AddParameter(name, object, type)
yöntemi hem kullanmaya teşebbüs ettik görebileceğiniz gibi şöyledir:
ben olarak sahip koddur. Her ikisi de verileri düzgün şekilde gönderiyor görünmüyor, çünkü gerekli parametrelerin eksik olduğunu söyleyen sunucudan yanıt aldım. Kemancıyı kullanarak ikili verileri görebilirim, ancak her iki yöntemle de JSON verilerini asla. RestSharp belgelerini inceledim, ancak form veri gövdesi için belirli bir "alan" adını "veri" olarak belirtmeme izin veren bir şey bulamıyorum. . Burada neyi yanlış yapıyorum?
DÜZENLEME: Fiddler ile daha fazla inceleme yapıldığında, JSON verilerimi hiç HTTP isteğinin gövdesine eklemiyor görünmektedir. Ancak, yükleme işleminden hemen önce bir kırılma noktasıyla (execute komutu), parametre listesinde (ve dosya listesinin) düzgün bir şekilde serileştirilmiş her şeyi görebiliyorum. Fiddler ile teftiş yaparken, ikili veriyi ve sonra çok parçalı/form-veri sınırı ve sonra hiçbir şey göremiyorum. Verilerimin burada olması gerektiği varsayılır ...
Başlığınızı düzenledim. Lütfen, "[Sorular soruların başlığında" etiketler içeriyor mu? "(Http://meta.stackexchange.com/questions/19190/)" bölümüne bakacak olursak, fikir birliği "hayır, yapmamalı" dır. –
Üzgünüm, bunu yap! Sadece bu makaleyi okuyun, düzenleme için teşekkürler. – JNYRanger
Aynı zamanda cevabını araştırıyorum. @JNYRanger cevabı henüz buldunuz mu ..? Çözümünüz varsa lütfen bana bildirin. Şimdiden teşekkürler. –