java Play 2与JSON
我不熟悉使用Play2框架。这是我写的一个简单的控制器
package controllers;
import play.*;
import play.mvc.*;
import views.html.*;
import models.*;
import java.util.*;
import play.libs.Json;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.node.ObjectNode;
public class Users extends Controller {
@BodyParser.Of(BodyParser.Json.class)
public static Result register() {
JsonNode json = request().body().asJson();
String firstName=json.findPath("first_name").asText();
String lastName=json.findPath("last_name").asText();
String mobileNumber=json.findPath("mobile").asText();
String address=json.findPath("address").asText();
String userName=json.findPath("user_name").asText();
String password=json.findPath("password").asText();
ObjectNode result = Json.newObject();
result.put("status", "FAILIURE");
result.put("message", "Missing parameter [name]");
return ok("meow");
}
public static Result login() {
return TODO;
}
public static Result logout(final Long id) {
return TODO;
}
}
我用卷发击球
curl -i -H "Accept: application/json" -X PUT -d "{"first_name": "simon","last_name": "bolliver","mobile": "12345","address": "23 Donwton","user_name": "simon","password": "levy"}" http://localhost:9000/user/register
我在第二行收到一个NullPointerException。我做错了什么
# 1 楼答案
控制器看起来不错,但需要在curl请求上设置
Content-type
头,并用'
而不是"
包装-d
参数# 2 楼答案
为了获得愉快的发展,请尝试在
chrome
{a1}中使用。或者如果你喜欢consoleway
使用httpie