这是function.json代码段
{
"bindings": [
{
"authLevel": "function",
"name": "query",
"type": "httpTrigger",
"direction": "in",
"methods": [
"get",
"post"
]
这是我的run.csx文件:
public class Query{
public double AdvanceDays{get;set;}
}
public static async Task<HttpResponseMessage> Run(Query query,entity Entity,HttpRequestMessage req, TraceWriter log, IEnumerable<dynamic> inputDocument)
{
现在我需要从另一个函数调用此Http触发函数。我在做:
var url = "https://azurefunction...";
var content2 = new StringContent(string.Format("{{\"AdvanceDays\":7}}"));
var response = await client.PostAsync(url,content2);
但是出现以下错误:
No MediaTypeFormatter is available to read an object of type 'Query' from content with media type 'text/plain'.
该如何解决?请帮忙!!!
答案 0 :(得分:2)
看起来像问题在于您发送的请求未指定其内容类型,并且默认为text/plain
。由于没有Content-type header
,因此该函数不知道您要发送哪种类型的内容。您应该添加一个值为Content-Type header
的{{1}}。
接受请求标头字段可用于指定响应可接受的某些媒体类型。
Content-Type 实体标题字段指示发送给接收者的实体主体的媒体类型,或者在使用HEAD方法的情况下,表示将要发送的媒体类型具有该请求是GET。