我正在构建一个web应用程序(与Lumen),它将从移动应用程序接收JSON数据并存储它。它还会以相同的JSON格式发送数据。我在Kotlin中做了手机app中数据的模型。它将被改造库序列化为JSON。
data class Mouse(
val id: Int,
val name: String
)
data class Occasion(
val id: Int,
val name: String
)
data class Location(
val id: Int,
val name: String
)
data class Session(
val id: Int,
val name: String
)
data class Project(
val id: Int,
val name: String
)
data class LocOccLMouse(
val loc: Location,
val occ: Occasion,
val lisMouse: List<Mouse>
)
data class SesLOLM(
val ses: Session,
val lisLOLM: List<LocOccLMouse>
)
data class SyncClass(
val prj: Project,
val lisSesLOLM: List<SesLOLM>
)
所以我将从移动应用程序发送SyncClass。
但是我不知道如何在php Lumen中制作相同的模型。这样我就可以接收模型并从中提取数据。并且还使用它来响应移动应用程序的一些数据(以相同的JSON格式)。是否有可能从基本类创建模型,或者他们需要从雄辩的模型继承?我如何创建这个模型呢?
这里有很多不同的问题。首先,你想用Lumen创建一个可以接收和发送JSON的API。其次,您希望将后端中的JSON转换为Eloquent Model
。lumen可以用Responses
将你的雄辩模型翻译成Json。对于您的主要任务,您将创建一个控制器来处理来自移动应用程序的请求,如下所示:
class MyClassNameApi extends controller{
public function index(CustomRequestValidator $request){
//Do the job aka $model = new Model($request->all())
return responses()->json($customReponse,$httpCode)
}
}
我真的建议你检查一下流明的Requests
生命周期。也不要忘记创建一些工作流UML来帮助你。
关于Model
示例:
<?php
namespace AppModels
use IlluminateDatabaseEloquentModel;
class LocOCCLMouse extends Models{
public function loc(){
$this->hasOne(Location::class)
}
public function occ(){
$this->hasOne(Occasion::class)
}
public function lisMouse(){
$this->hasMany(Mouse::class)
}
//Etc....
}
我希望我能帮到你。