ホームページ >バックエンド開発 >Golang >2 つの可能な名前を使用して入力フィールドを検証する

2 つの可能な名前を使用して入力フィールドを検証する

王林
王林転載
2024-02-08 22:33:081030ブラウズ

2 つの可能な名前を使用して入力フィールドを検証する

php Xiaobian Strawberry では、入力フィールドを検証する方法を紹介します。検証には 2 つの可能な名前を使用します。入力フィールドの検証は、Web サイトまたはアプリケーションを開発する際の非常に重要なステップです。 2 つの可能な名前を使用することで、入力フィールドのセキュリティと正確性を高めることができます。このメソッドは、入力フィールドの実際の名前を代替名と比較することによって検証します。両方の名前が一致する場合、入力フィールドは有効であるとみなされます。この検証方法は、ユーザーの入力エラーや悪意のある入力によって引き起こされる問題を回避し、より信頼性の高いデータ保護を提供します。

質問内容

元々 Python で書かれた API を移行しています。 Python API を使用すると、次のようにリクエストをキャメルケースまたはスネークケースとして送信できます。

これは許可されています

リーリー

これは許可されています

リーリー

これは、優れた Python ライブラリ Pydantic を使用して行われます。 リーリー

これにより、エイリアス (someInput) またはフィールド名 (some_input) による入力モデルの作成が可能になります。 Goでも同じか同等のことをしたいと思っています。ジンを使用しています:

リーリー

私の入力構造は次のようになります:

リーリー

私の入力が次の場合、これは機能しません:

リーリー

返される内容:

リーリー

キャメルケースとスネークケースの両方を受け入れるにはどうすればよいですか?

回避策

Go では、1 つの構造体フィールドに 2 つの JSON タグを同時に指定することはできません。 JSON タグは、フィールドをマーシャリング (JSON にシリアル化) する方法、またはアンマーシャリング (JSON から逆シリアル化) する方法を定義する単一の文字列を使用して指定します。構造体の 1 つのフィールドに複数のラベルを直接指定することはできません。

JSON 出力で CamelCase と SnakeCase をサポートする必要がある場合は、通常、構造フィールドに一貫した命名規則を選択し、すべてのフィールドに適切な JSON マークアップを使用する必要があります。

これを行う賢い方法があります。これがお役に立てば幸いです。

リーリー

以上が2 つの可能な名前を使用して入力フィールドを検証するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。