POST
メソッドを介して Customer を作成する RESTful Web サービスをエミュレートする簡単なテスト クラスを作成しようとしています。以下は で失敗しassertEquals
、400 Bad Request
応答が返ってきました。デバッガーを使用してスタック トレースを観察できません。ただし、コンソールには次のように表示されます...
情報: [localhost:9998] にバインドされたリスナーを開始しました
情報: [HttpServer] 開始しました。
public class SimpleTest extends JerseyTestNg.ContainerPerMethodTest {
public class Customer {
public Customer() {}
public Customer(String name, int id) {
this.name = name;
this.id = id;
}
@JsonProperty("name")
private String name;
@JsonProperty("id")
private int id;
}
@Override
protected Application configure() {
return new ResourceConfig(MyService.class);
}
@Path("hello")
public static class MyService {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public final Response createCustomer(Customer customer) {
System.out.println("Customer data: " + customer.toString());
return Response.ok("customer created").build();
}
}
@Test
private void test() {
String json = "{" +
"\"name\": \"bill\", " +
"\"id\": 4" +
"}";
final Response response = target("hello").request(MediaType.APPLICATION_JSON_TYPE).post(Entity.json(json));
System.out.println(response.toString());
assertEquals(response.getStatus(), 200);
}
}