C#Web Api(非MVC)字典参数

沙基尔

我正在尝试创建将由许多网站/应用程序使用的Web Api。

Api将字典作为参数,因为它将是动态的。

C#方法:

[HttpPost]
public Dictionary<string, string> ApiTest(Dictionary<string, string> parameters )
{
    Dictionary<string, string> dic_data = new Dictionary<string, string>();
    foreach (KeyValuePair<string, string> tmp in parameters)
        {
            dic_data[tmp.Key] = tmp.Value;
        }

    return dic_data;
}

Ajax调用方法:

请注意,我遗漏了contentType:“ application / json”,因为它抱怨它包含允许的CORS

var data = {"parameters":{"product_id":"1","product_model":"HFJ5G1.5","product_type":"plat","product_return":"graviteits"}};
//var data = {AlbumName: "Dirty Deeds",Songs:[ { SongName: "Problem Child"},{ SongName: "Squealer"}]};
var parameters = {};
parameters['1'] = 10;
parameters['2'] = 11;
$.ajax({
    type :'POST',
    url : 'http://localhost:8082/api/WebController/ApiTest/',
    dataType : 'json',
    data: parameters ,

    success : function(data) {
    console.log(data);

我也尝试过绑定参数:

public class myParameters
{
    public Dictionary<string,string> parameters { get; set; }
}
public Dictionary<string, string> ApiTest(myParameters parameters )

仍然没有运气。

在浏览器控制台上,我只是不断从API接收回“ {}”。

我看了很多例子,但似乎没有任何帮助。我对C#还是很陌生,因此有些评论和答案就在我之上(例如ModelBinder的东西)

从Javascript将KeyValuePair或IDictionary列表传递到Web Api控制器

Asp.Net Web API中带有字典参数的方法

WebApi将主体绑定到Json词典

在Web Api控制器中将JSON反序列化为字典

更新

经过几个小时的搜索,我决定从托管API的同一站点对API进行“本地”调用。然后,我可以将contentType放置在适当的位置:'application / json; charset = utf-8',将解析后的JSON post对象发送到Dictionary参数没有问题:-(

所以现在我继续搜索contentType + C#Api +字典+ CORS

沙基尔

在服务器上启用了CORS。使用简单的绑定参数(例如字符串)可以很好地跨域工作。字典失败的地方。

但是我不得不在IIS上走得更远,才能在AJAX调用中指定内容类型

jQuery CORS内容类型选项

我已经在未指定IIS内容类型标头的情况下进行了测试,即使我添加了crossDomain:true,我仍然会收到抱怨CORS的Jquery错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#Web Api(非MVC)字典参数

来自分类Dev

C#Web Api路由

来自分类Dev

Web服务的C#Web API路由

来自分类Dev

C#Web API帮助文档IHttpActionResult

来自分类Dev

C#Web API中的文档

来自分类Dev

C#Web API项目共享策略

来自分类Dev

C#Web API POST参数FromBody始终为null

来自分类Dev

C#Web API路由与Angular路由混合

来自分类Dev

C#Web API服务数据未持久

来自分类Dev

C#Web API返回列表对象的列表

来自分类Dev

C#Web API INNER JOIN和RETURN查询值

来自分类Dev

从C#Web API读取数据而不是响应

来自分类Dev

C#Web API服务数据未持久

来自分类Dev

在vb.net网站上设置C#Web API

来自分类Dev

C#Web API返回列表对象的列表

来自分类Dev

C#Web Api中的动态注册控制器

来自分类Dev

如何在C#WEB API中返回JSON Web令牌?

来自分类Dev

新的Relic,Azure Web,c#Web API-无数据

来自分类Dev

通过REST API反序列化JSON对象接收(C#Web API 2)

来自分类Dev

从C#Web API方法下载ZipArchive在Chrome中返回“ net :: ERR_CONNECTION_RESET”

来自分类Dev

使用OAuth进行C#Web API请求/响应记录

来自分类Dev

无法在C#WEB API REST服务单元测试中模拟Owin上下文

来自分类Dev

如何从C#Web API的angular 7中填充材料下拉列表?

来自分类Dev

C#Web API中的最小起订量单元测试

来自分类Dev

C#Web API,如何处理异常并返回适当的状态代码

来自分类Dev

数据库功能Mock在C#Web API单元测试中不起作用

来自分类Dev

JSON POST正文中字符串ID或对象属性的C#Web API处理

来自分类Dev

C#Web API JSON字符串映射到对象

来自分类Dev

在C#Web API中-如何从Python HTTPBasicAuth获取用户和传递

Related 相关文章

热门标签

归档