对于有效但多余/冗余的 contentType 字符集,Rest Service 返回 400

问题描述

我们使用其他公司提供的休息服务。 我最近切换到另一个客户端(apache HTTPClient),因为旧客户端有各种问题。 最初我收到一个错误(400 HTTP 状态代码)。经过一番研究,我将范围缩小到以下行:

不工作 - 返回 400:

layout1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { usercard1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setCardImage(cards.get(0),card1ondeck); usercard1.setVisibility(View.INVISIBLE); } }); usercard2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setCardImage(cards.get(1),card1ondeck); usercard2.setVisibility(View.INVISIBLE); } }); usercard3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setCardImage(cards.get(2),card1ondeck); usercard3.setVisibility(View.INVISIBLE); } }); usercard4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setCardImage(cards.get(3),card1ondeck); usercard4.setVisibility(View.INVISIBLE); } }); } }); layout2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { user2card1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setCardImage(cards.get(4),card2ondeck); user2card1.setVisibility(View.INVISIBLE); } }); user2card2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setCardImage(cards.get(5),card2ondeck); user2card2.setVisibility(View.INVISIBLE); } }); user2card3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setCardImage(cards.get(6),card2ondeck); user2card3.setVisibility(View.INVISIBLE); } }); user2card4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setCardImage(cards.get(7),card2ondeck); user2card4.setVisibility(View.INVISIBLE); } }); } });

工作 - 返回 200:

Content-Type: application/json; charset=UTF-8

事实证明,apache HTTPClient 默认添加字符集。

我知道 IANA json 是在没有字符集的情况下定义的,因为 UTF-8 是默认值。 但是我认为在指定时抛出 400 错误是很苛刻的。

IANA 声明:

注意:没有为此注册定义“字符集”参数。
添加一个确实对合规的收件人没有影响。

那么这是服务中的错误吗?应该接受吗?是否有一些标准(IANA reg 除外)说明了这种情况?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)