1
我正在用Java構建Play2應用程序,該應用程序將接收幾個電話號碼並將其發送到發送SMS的其餘服務。我應該如何設計我的Play2 Java應用程序,以便符合「Play2思考」
我已經創建了一個控制器,我在想,控制器將處理請求,執行解組到Java列表。然後我想創建一個SmsService類來處理調用。我無法理解的是我應該如何以Play2的方式實現這一點。
我是否在控制器中通過輸入new來實例化SmsService?或者我使用 依賴注入?也許我要在我的春天背景上着色,忘記所有關於 注入並在控制器中寫入所有內容?也許使該方法靜態 和使用SmsService像SmsService.sendSms(數字)
我已檢查與Play2的2.1文件夾跟隨,但那裏的例子 不處理這種情況的樣本。我可能錯過了文檔中的某些內容。
你會怎麼做,爲什麼?
SMS控制器:
public class Sms extends Controller {
private static final ObjectMapper mapper = new ObjectMapper();
@BodyParser.Of(value = BodyParser.Json.class)
public static Result inviteToReview() {
ObjectNode result = Json.newObject();
JsonNode json = request().body().asJson();
if(json == null) {
result.put("status", "KO");
result.put("message", "Missing phone number list [phone_numbers]");
return badRequest(result);
}
List<String> numbers = new ArrayList<String>();
TypeReference collectionType = new TypeReference<ArrayList<String>>() {
};
try {
numbers = mapper.readValue(json.get("phone_numbers"), collectionType);
} catch (IOException e) {
// handle error
}
SmsService smsService = new SmsService();
result = smsService.sendSms(numbers);
return ok(result);
}
}