Jax-Rs で CREATED HTTP ステータス コードを返す方法
created(URI location)
クラスの javax.ws.rs.core.Response
を使用します.通常、201 HTTP ステータス コードを返す場合は、新しい REST リソースが利用可能な場所を含む location
ヘッダーを返す必要があります.import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.ws.rs.*;
import javax.ws.rs.core.*;
@Path("messages")
@Stateless
@Tag(name = "Message")
public class MessageRestResource {
@Inject private MessageService messageService;
@POST
@Consumes(MediaType.TEXT_PLAIN)
@Operation(summary = "Create message")
@ApiResponses({
@ApiResponse(
responseCode = "201",
description = "Message successfully created."),
@ApiResponse(responseCode = "403", description = "Forbidden")
})
public Response createMessage(
@Parameter(description = "Message") String message, @Context UriInfo uriInfo)
throws JAXBException {
Message created = messageService.createMessage(message);
UriBuilder builder = uriInfo.getAbsolutePathBuilder();
builder.path(created.getUuid().toString());
return Response.created(builder.build()).build();
}
スニペットでは、
UriBuilder
メソッド builder.path(created.getUuid().toString())
が、新しく作成されたメッセージの識別子 ( uuid
) を、uriInfo
から取得した要求の絶対パスに追加します.Shared with ❤️ from Codever. Use 👉 copy to mine functionality to add it to your personal snippets collection.
Reference
この問題について(Jax-Rs で CREATED HTTP ステータス コードを返す方法), 我々は、より多くの情報をここで見つけました https://dev.to/codever/how-to-return-created-http-status-code-in-jax-rs-153pテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol