iOS Swift moya 报错‘application/x-www-form-urlencoded;charset=utf-8‘ not supported_swift content type 'application/x-www-form-urlenco-程序员宅基地

技术标签: json  

OC项目转swift ,在post请求而且服务器要求的请求格式为json;用moya框架

用Moya框架请求接口,后端要求是json格式的文件时报错:{"code":415,"success":false,"data":{},"msg":"Content type 'application/x-www-form-urlencoded;charset=utf-8' not supported"} 

 

因为原来项目是OC写的 所以错误原因明了,就是请求数据没有json序列化

在AFNetworking里面swiftNetWorkManager.shared.requestSerializer = AFJSONRequestSerializer() 即可 

在moya里面要设置encoding

原来默认的 
return .requestParameters(parameters: parmeters, encoding: URLEncoding.default)

改为
return .requestParameters(parameters: parmeters, encoding: JSONEncoding.default)

即可

当然你要根据自己的项目处理 如果是否要做判断 因为我发现 直接用return .requestParameters(parameters: parmeters, encoding: JSONEncoding.default) 我项目里面的get请求报错了 

所以我做了判断

if method.self == .get

{//get 请求 不需要json格式

    return .requestParameters(parameters: parmeters, encoding: URLEncoding.default)

 }


 return .requestParameters(parameters: parmeters, encoding: JSONEncoding.default)

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huang413/article/details/117770211

智能推荐

在3dmax中的动画关键帧消失的问题。-程序员宅基地

1、不是用biped直接建骨骼时,当我们没有全选所有物体时是不显示关键帧的。2、用biped直接建骨骼时,需要选中biped骨骼才会显示关键帧。转载于:https://www.cnblogs.com/ZeroMurder/p/5240591.html..._3dmax关键帧标尺不见了

模拟log4j获取日志对象调用所在的类名、方法名及行号-程序员宅基地

http://www.cnblogs.com/pangblog/p/3397899.html当我们在记录日志时,每个类中会定义一个日志对象,然后利用这个对象去写日志,那么我们在处理日志时,如何能才能记录日志对象所在的类、方法和行号呢?log4j中已经实现了该功能,那么它是怎么实现的呢? 其实我们可以这样,在要写日志的代码时获得当前的线程信息,这样我们就可以获得上个线程

Mybatis - 通用分页拦截器_"若依框架的分页拦截器countsuffix = \"_count"-程序员宅基地

package com.zking.ssm.github;import com.github.pagehelper.Dialect;import com.github.pagehelper.PageException;import com.github.pagehelper.cache.Cache;import com.github.pagehelper.cache.CacheFactor..._"若依框架的分页拦截器countsuffix = \"_count"

js中代码复用-程序员宅基地

关于js中代码复用的问题主要实现功能对于坐飞机的乘客来说,经济舱,头等舱的服务待遇是不同的。这段代码主要实现对不同舱位乘客实现不同的服务。飞机上的乘客点餐、喝饮料、看电影等服务;定义一个表示乘客的数据结构,一共有4个乘客对象每个乘客都有3个属性,这里主要检查乘客的票是经济舱还是头等舱。也就是ticket属性的值。var passengers = [ { name: "Jane D...

【信息学奥赛一本通】登入窗口-程序员宅基地

【信息学奥赛一本通】登入窗口_一本通

使用 JDWP 进行远程调试-程序员宅基地

对于调试Java程序来说,Java Debug Wire Protocol (JDWP, Java调试线协议)是不可多得的好东西。使用JDWP调试应用程序的步骤如下:1. 打开命令行,并将 jdk 安装路径下的 bin 目录添加到 PATH 环境变量。2. 通过以下命令来启动想要调试的程序(本例中假设为Test)...

随便推点

vue 定位所在地_Vue:获取当前定位城市名-程序员宅基地

实现思想:通过定位获取到当前所在城市名;1、在工程目录index.html中引入:ps:秘钥可以去百度开发者平台申请2、在build/webpack.base.conf.js(与entry同级)中配置:entry:{app:‘./src/main.js‘},externals:{"BMap":“BMap”},3、重新运行一下npm install或者yarn;4、配置好以后到对应需要获取城市名的页..._vue 获取当前位置判断是哪个城市

用汇编语言求一组数的最大值和最小值_arm汇编语言求一组数的最大值和最小值-程序员宅基地

首先对10个数按从小到大排序,然后第一个元素就是最小的,最后一个元素就是最大的 data segment mes1 db 'the max:$' mes2 db 'the min:$' a dw 42,20,100,456,99,120,89,12334,90,1239 data ends code segment main proc far assume cs:code,ds:_arm汇编语言求一组数的最大值和最小值

日志_filepattern-程序员宅基地

日志框架:Log4j、Log4j2、Slf4j、JDKLog、Logback等log4j1.log4j优先级log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。ALL 最低等级的,用于打开所有日志记录。TRACE designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的_filepattern

最小生成树,普利姆算法和克鲁斯卡尔算法的C语言实现_克鲁斯卡尔算法单元路径最短c语言-程序员宅基地

普利姆算法#include#include#include #include struct loc //link of connection 的结构体,用来描述某两座城市的线路铺设{int city[2];int money;};void SetColor(unsigned short fc=7,unsigne_克鲁斯卡尔算法单元路径最短c语言

最全史上最新全网最详细的Linux发行版的CentOS7镜像下载与安装教程_centos-7-x86_64-minimal-2003.iso-程序员宅基地

国内推荐阿里云站点下载,速度比较快阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/进入本界面,选择 CentOS-7-x86_64-DVD-2003.iso下载版本说明:CentOS-7-x86_64-DVD-2003.iso 标准安装版(推荐)CentOS-7-x86_64-Everything-2003.iso 完整版,集成所有软件(以用来补充系统的软件或者填充本地镜像)CentOS-7-x86_64-LiveGNOME-2003.i_centos-7-x86_64-minimal-2003.iso

Apache Roller安装部署及中文乱码解决方法,附jelastic下的部署注意-程序员宅基地

说明:下文中注明参考的资源皆来自网络,在此表示感谢!Apache roller 安装详见:[参考:Apache Roller 5.0 安装部署http://chenzehe.iteye.com/blog/1175284]说明1:上文中的 2 数据库配置 改为执行如下SQL: create database rollerdb default charse