반응형
Jersey에선 Response를 다음과 같이 할 수 있다.
POST 메소드인 경우의 예를 들면,
Jersey에선 POST는 작업을 수행한 후 정상적으로 처리되면 201 상태코드를 리턴하고 Location Header에는 새롭게 생성된 리소스의 URI값을 리턴할 수 있다.
이렇게 자바의 내용이 이렇다면,
@POST
@Path("post")
public Response post(String id) throws URISyntaxException{
URI createdUri = new URI("http://localhost:8080/user/" + id);
create(id);
return Response.created(createdUri).build();
}
@POST
@Path("postEntity")
public Response postEntity(String id) throws URISyntaxException{
URI createdUri = new URI("http://localhost:8080/user/" + id);
String created = create(id);
return Response.created(createdUri).entity(created).build();
}
private String create(String content) {
System.out.println("post : " + content);
//content create..
return content;
}
1. 201 상태코드 리턴하고 Location header에 값 넣어서 리턴하기.
$ curl -v -d "flyburi" http://localhost:8080/JerseyDemo/form/post
* About to connect() to localhost port 8080 (#0)
* Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 8080 (#0)
> POST /JerseyDemo/form/post HTTP/1.1
> User-Agent: curl/7.16.3 (i686-pc-cygwin) libcurl/7.16.3 OpenSSL/0.9.8k zlib/1.
2.3 libssh2/0.15-CVS
> Host: localhost:8080
> Accept: */*
> Content-Length: 7
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 201 Created
< Server: Apache-Coyote/1.1
< Location: http://localhost:8080/user/flyburi
< Content-Length: 0
< Date: Mon, 20 Jul 2009 06:13:13 GMT
<
* Connection #0 to host localhost left intact
* Closing connection #0
2. Entity body에 custom response를 추가하는 방법.
$ curl -v -d "flyburi" http://localhost:8080/JerseyDemo/form/postEntity
* About to connect() to localhost port 8080 (#0)
* Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 8080 (#0)
> POST /JerseyDemo/form/postEntity HTTP/1.1
> User-Agent: curl/7.16.3 (i686-pc-cygwin) libcurl/7.16.3 OpenSSL/0.9.8k zlib/1.
2.3 libssh2/0.15-CVS
> Host: localhost:8080
> Accept: */*
> Content-Length: 7
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 201 Created
< Server: Apache-Coyote/1.1
< Location: http://localhost:8080/user/flyburi
< Content-Type: text/plain
< Transfer-Encoding: chunked
< Date: Mon, 20 Jul 2009 06:13:42 GMT
<
* Connection #0 to host localhost left intact
* Closing connection #0
flyburi
반응형
'backend' 카테고리의 다른 글
[책] 함수형 사고 - Chapter 2. 전환 (0) | 2018.07.22 |
---|---|
[책] 함수형 사고 - Chapter 1. 왜 (0) | 2018.07.15 |
테스트 코드 작성 관련 링크 (0) | 2010.02.08 |
[Jersey] WebApplicationException and Mapping Exception to Responses (0) | 2009.07.30 |
[Jersey] Representation and Java Types (0) | 2009.07.16 |
Jersey의 JSON Support (2) | 2009.06.08 |
Jersey의 Exception Handling (0) | 2009.06.05 |
Jersey의 Return Type (0) | 2009.06.04 |