私はREST APIデザインに新しく、私は書くつもりのAPIについて2つの質問があります。spring-restとspringfoxでbyte []を使用する
PDFファイルのエンコーディングを指定してデータベースにオブジェクトを作成するサービスを作成したいとします。
私の現在のサービスは次のようになります。
@RequestMapping(value = "/create", method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE,
consumes = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public String create(@RequestBody byte[] pdf)
私の質問は以下のとおりです。
- は、REST APIと[]バイトを使用することを "推奨" となっていますか? PS:サービスはWebクライアントとツールキットで消費されます。
- 私はAPIを文書化するためにspringfoxを使用しようとしました。 UIツールではバイナリデータを送信できません。
Iは、次の注釈
@ApiImplicitParams({
@ApiImplicitParam(name = "pdf", value = "PDF encoding", required = true,
allowMultiple = true,
paramType = "body", dataType = "byte")
})
生成JSON使用される:
{"type":"array","items":{"type":"string","format":"byte"}}
UIインターフェースはPDF符号化のためのテキストエリアが表示され、文字列のような任意のコンテンツを送信しかし。 (たとえば、値「5」を提出すると、サーバーは[53]を受け取ります)。
私はこのレベルで何が欠けているか考えていますか?
- EDIT -
PDFをHTMLフォームからクライアント側で生成されます。したがって、単純なフォーム提出ではありません。
ユーザーが常にファイルをアップロードするとは限りませんので、MultipartFileタイプは使用しませんでした。 PDFはクライアント側でHTMLフォームから生成されます。 – ferjani