Android要求データフォーマットがJavaバックグラウンド需要フォーマットと一致しないHttpMediaTypeNotSupportedException:
1440 ワード
大神を求めて解答を手伝います:
現在appのJavaインタフェースがあり、iosエンドコールインタフェースは全く問題ありませんが、androidエンドはリクエスト体が失われたのではなくjson変換異常です.
//バックエンドにはjsonデータが必要ですが、android側から与えられたパラメータはx-www-form-urlencodedです.どうやって解決しますか?//最初のエラー:
//要求ヘッダを追加してエラーを報告:
//修正後:json変換エラー
現在の問題は解決されました.
実は以上の問題のすべての原因はandroid側の要求データフォーマットが間違っている(あるいは要求データフォーマットが一致していない):
1・Headers要求パラメータContent-Type:アプリケーション/json,charset=UTF-8,Accept:jsonを設定するか
送信フォーマットと受信フォーマットの両方を設定する必要があります.
2・要求パラメータ作成beanシーケンス化;
3.POST要求データは要求体にあり、このときパラメータ送信は@Body注釈を使用すべきであり、#Fields注釈のデフォルトはx-www-form-urlencodedフォームで送信される.
現在appのJavaインタフェースがあり、iosエンドコールインタフェースは全く問題ありませんが、androidエンドはリクエスト体が失われたのではなくjson変換異常です.
//バックエンドにはjsonデータが必要ですが、android側から与えられたパラメータはx-www-form-urlencodedです.どうやって解決しますか?//最初のエラー:
org.springframework.web.HttpMediaTypeNotSupportedException:
Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
//要求ヘッダを追加してエラーを報告:
org.springframework.http.converter.HttpMessageNotReadableException:
Required request body is missing:
. .sendCode(java.util.Map
//修正後:json変換エラー
org.springframework.http.converter.HttpMessageNotReadableException:
JSON parse error: Unrecognized token 'phoneNumber': was expecting ('true', 'false' or 'null');
nested exception is com.fasterxml.jackson.core.JsonParseException:
Unrecognized token 'phoneNumber': was expecting ('true', 'false' or 'null')
at [Source: (PushbackInputStream); line: 1, column: 13]
現在の問題は解決されました.
実は以上の問題のすべての原因はandroid側の要求データフォーマットが間違っている(あるいは要求データフォーマットが一致していない):
1・Headers要求パラメータContent-Type:アプリケーション/json,charset=UTF-8,Accept:jsonを設定するか
送信フォーマットと受信フォーマットの両方を設定する必要があります.
2・要求パラメータ作成beanシーケンス化;
3.POST要求データは要求体にあり、このときパラメータ送信は@Body注釈を使用すべきであり、#Fields注釈のデフォルトはx-www-form-urlencodedフォームで送信される.