0
我有一個REST服務,它接受來自客戶端的JSON數據。我能夠使用.Net類從客戶端檢索JSON輸入。但我想以JSON字符串格式檢索數據,而不是作爲類對象。C#Rest服務 - 無法接收服務方法內的JSON請求
這是我到目前爲止嘗試過的。
輸入JSON
<input id="Text3" type="text" value='{ "searchBy": "Pending Cases", "displayOptions": [ {"producers": "yes", "GA/BGA/Firm": "yes"}],"userId": "xxx", "userAuthToken": "0000" }' /></p>
呼叫服務通過javascript
function CallService()
{
var inputJSON = $("#Text3").val();
var endpointAddress = $("#Text1").val();
var url = endpointAddress + $("#Text2").val();
$.ajax({
type: 'POST',
url: url,
contentType: 'application/json',
data: inputJSON,
success: function (result) {
$("#Text4").val(" " + JSON.stringify(result));
}
});
}
服務側 - 合同
[OperationContract]
[WebInvoke(
Method = "POST",
BodyStyle = WebMessageBodyStyle.Bare,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
string SearchPredefined(PredefinedSearchRequestModel PredefinedSearchRequest);
實現服務方法的
public string SearchPredefined(PredefinedSearchRequestModel PredefinedSearchRequest)
{
string outputStr = "PredefinedSearchRequest Object gets successfully populated here ";
return outputStr;
}
Model類
[DataContract]
public class PredefinedSearchRequestModel
{
[DataMember]
public string searchBy { get; set; }
[DataMember]
public List<displayOptionsModelPredefined> displayOptions { get; set; }
[DataMember]
public string userId { get; set; }
[DataMember]
public string userAuthToken { get; set; }
}
[DataContract]
[Serializable]
public class displayOptionsModelPredefined
{
[DataMember]
public string producers { get; set; }
[DataMember(Name="GA/BGA/Firm")]
public string firm { get; set; }
}
迄今爲止,這些代碼工作正常。當客戶使用JSON數據調用我的服務時,服務方法被擊中並且模型對象被成功填充。
但是我需要從我的服務調用另一個第三方服務與相同的JSON字符串。這就是爲什麼我需要原始JSON /字符串格式的輸入數據,而不是C#對象。
如何獲取服務器端的數據作爲JSON字符串?