第18章 JBoss EAP での Web サービス設定
JBoss EAP では、管理コンソールまたは管理 CLI を使用して、デプロイされた Web サービスの動作を webservices サブシステムを通じて設定できます。この設定は Jakarta Web Services (JAX-WS) エンドポイントに適用されます。これにより、Web サービスの公開エンドポイントアドレス、ハンドラーチェーン、およびランタイム統計収集を設定できます。
18.1. JSON マージパッチ リンクのコピーリンクがクリップボードにコピーされました!
JSON マージパッチ機能を使用して、ターゲットリソースを変更できます。この機能を使用すると、変更されたリソース全体を提供しなくても、ターゲットリソースを変更できます。クライアントは JSON の変更をサーバーリソースに直接送信し、そこでターゲットリソースにマージされます。要求された Uniform Resource Identifier (URI) は、ターゲットリソースを識別するために使用されます。
PATCH /StudentPatchTest/students/1 HTTP/1.1
Content-Type: application/merge-patch+json
Content-Length: 34
Host: localhost:8090
Connection: Keep-Alive
{"firstName":"Green","school":null}
JSON マージパッチ機能はデフォルトで有効になっています。この機能を使用するには、リソースメソッドに @Consumes ("application/merge-patch+json") のアノテーションを付けます。JSON マージパッチ機能の詳細は、RESTEasy ユーザーガイドの JSON Patch and JSON Merge Patch を参照してください。
設定スイッチ resteasy.patchfilter.disabled は、デフォルトでは false に設定されています。このスイッチの詳細は、RESTEasy ユーザーガイドの Configuration switches を参照してください。
@GET
@Path("/{id}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Student getStudent(@PathParam("id") long id) {
Student student = studentsMap.get(id);
if (student == null) {
throw new NotFoundException();
}
return student;
}
@PATCH
@Path("/{id}")
@Consumes("application/merge-patch+json")
@Produces(MediaType.APPLICATION_JSON)
public Student mergePatchStudent(@PathParam("id") long id, Student student)
{
if (studentsMap.get(id) == null)
{
throw new NotFoundException();
}
studentsMap.put(id, student);
return student;
}