gpt4 book ai didi

jquery - 将数据从 objective-C/cocoa 发布到 .NET WebAPI

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:00 26 4
gpt4 key购买 nike

我有一个非常基本的 WebAPI Controller :

[HttpGet]
public IQueryable<User> GetUsers()
{
return _users.AsQueryable();
}

[HttpPost]
public User AddUser(User toAdd)
{
_userRepository.AddUser(toAdd);
}

User 对象同样简单:

public class User
{
public String name { get; set; }
public String email { get; set; }
}

(显然省略了一些无聊的部分!)

通过 C# 调用、jQuery 调用等,发布到服务工作正常。

使用 javascript/jquery 我会做类似的事情:

var user = {
"Name" : "Persons Name",
"Email" : "Email@Email.com"
}

var processed = JSON.stringify(user);

$.ajax({
url: url,
data: processed,
success: ....
...
});

我正在尝试从 Objective-C 将其发送到 POST。 GET 工作得很好,所以我知道它可以连接等。

我已经尝试了各种方法来尝试让它通过 JSON 发布一个对象,但我没有运气。谁能指出我正确的方向?

谢谢!

最佳答案

你只需要用你的数据创建一个 NSDictionary:

NSDictionary *postDict = [[NSDictionary alloc] initWithObjectsAndKeys:
@"Person Name", @"Name",
@"Email@Email.com", @"Email",
nil];

然后,将其转换为 NSData 并创建您的请求

NSError *error = nil;
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:postDict options:kNilOptions error:&error];
NSURLResponse *response;
NSData *localData = nil;

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:yourUrl]];
[request setHTTPMethod:@"POST"];

最后,将您的请求发送到服务器:

if (error == nil)
{
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setHTTPBody:jsonData];

// Send the request and get the response
localData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

NSString *result = [[NSString alloc] initWithData:localData encoding:NSASCIIStringEncoding];
NSLog(@"Post result : %@", result);
}

关于jquery - 将数据从 objective-C/cocoa 发布到 .NET WebAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18260331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com