GithubHelp home page GithubHelp logo

xshttpclient's Introduction

XSHttpClient

链式语法的网络库 将分散的设置和操作聚合在一起。如下是对比AFN与链式调用的区别。

AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
//设置请求解析类型
[mgr setRequestSerializer:[AFHTTPRequestSerializer serializer]];
//设置响应解析类型
[mgr setResponseSerializer:[AFJSONResponseSerializer serializer]];
//设置响应可接收类型
mgr.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
//开始请求
[mgr POST:@"http://xxx" parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nonnull responseObject) {
   NSLog(@"%@",responseObject);
} failure:^(NSURLSessionDataTask * _Nonnull task, NSError * _Nonnull error) {
   NSLog(@"%@",error);
}];
    
[XSHttp(GET)
.url(@"title/getall.json")
.params(nil)
.setRequestSerializer(requestHttp)
.setResponseSerializer(responseJson)
.appendAcceptFormat(@"text/html")
data:^(id responseObject) {
   NSLog(@"%@",responseObject);
} failure:^{
   NSLog(@"error");
}];
[XSHttp(GET)
.url(@"title/getall.json")
.params(param)
data:^(id responseObject) {
	NSLog(@"%@",responseObject);
} failure:^{
   NSLog(@"error");
}];
//开启测试 建议在appdelegate中设置
//[HttpClient setServerHost:@"https://www.xsdota.com/weibo/v1" debugHost:@"http://localhost:7888/weibo/v1"];
[XSHttp(POST)
.url(@"title/getall.json")
.params(param)
.DeBug(YES)
data:^(id responseObject) {
	NSLog(@"%@",responseObject);
} failure:^{
	NSLog(@"error");
}];
//添加设置请求解析 响应解析设置
[XSHttp(GET)
.url(@"title/getall.json")
.params(param)
.setRequestSerializer(requestHttp)
.setResponseSerializer(responseHttp)
data:^(id responseObject) {
   NSLog(@"%@",responseObject);
} failure:^{
   NSLog(@"error");
}];
//以from表单的形式上传图片
//setFile函数传字典 name:参数名,data:图片的二进制数据,fileName:文件名。fileType:文件格式
UIImage *image = [UIImage imageNamed:@"2"];
NSData *imageData = UIImageJPEGRepresentation(image, 0.9);
    
[XSHttp(UPLOAD)
.url(@"title/upload.json")
.setFile(@{@"name":@"image",
           @"data":imageData,
           @"fileName":@"xiaos1.jpg",
           @"fileType":@"image/jpg"})
.DeBug(YES)
data:^(id responseObject) {
   NSLog(@"%@",responseObject);
} failure:^{
   NSLog(@"error");
}];

xshttpclient's People

Contributors

lambdaxs avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.