如何根据从移动应用程序收到的 JSON 在 Laravel/Lumen 中制作特定模型?
How to make a specific model in Laravel/Lumen according to JSON received from mobile app?
我正在构建一个网络应用程序(使用 Lumen),它将从移动应用程序接收 JSON 数据并存储它。它还会以相同的 JSON 格式发送数据。我已经在 Kotlin 的移动应用程序中制作了数据模型。改造库将序列化为 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 流明中制作相同的模型。这样我就可以接收模型并从中提取数据。还可以使用它来响应移动应用程序的一些数据(采用相同的 JSON 格式)。是否可以从基本 类 创建模型,或者它们是否需要从 eloquent 模型继承?我该如何创建该模型?
这里有很多不同的问题。
首先你想用 Lumen 创建一个可以接收和发送 JSON 的 API。
其次,您想将 back-end 中的 JSON 转换为 Eloquent Model
。
流明可以将您的 eloquent 模型转换为 Json,使用 Responses
。
对于您的主要任务,您将创建一个控制器来处理来自移动应用程序的请求,如下所示:
class MyClassNameApi extends controller{
public function index(CustomRequestValidator $request){
//Do the job aka $model = new Model($request->all())
return responses()->json($customReponse,$httpCode)
}
}
我真的建议你检查一下 lumen 的 Requests
生命周期。
也不要忘记创建一些工作流 UML 来帮助您。
关于Model
LocOccLMouse 示例:
<?php
namespace App\Models
use Illuminate\Database\Eloquent\Model;
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....
}
希望能帮到你
我正在构建一个网络应用程序(使用 Lumen),它将从移动应用程序接收 JSON 数据并存储它。它还会以相同的 JSON 格式发送数据。我已经在 Kotlin 的移动应用程序中制作了数据模型。改造库将序列化为 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 流明中制作相同的模型。这样我就可以接收模型并从中提取数据。还可以使用它来响应移动应用程序的一些数据(采用相同的 JSON 格式)。是否可以从基本 类 创建模型,或者它们是否需要从 eloquent 模型继承?我该如何创建该模型?
这里有很多不同的问题。
首先你想用 Lumen 创建一个可以接收和发送 JSON 的 API。
其次,您想将 back-end 中的 JSON 转换为 Eloquent Model
。
流明可以将您的 eloquent 模型转换为 Json,使用 Responses
。
对于您的主要任务,您将创建一个控制器来处理来自移动应用程序的请求,如下所示:
class MyClassNameApi extends controller{
public function index(CustomRequestValidator $request){
//Do the job aka $model = new Model($request->all())
return responses()->json($customReponse,$httpCode)
}
}
我真的建议你检查一下 lumen 的 Requests
生命周期。
也不要忘记创建一些工作流 UML 来帮助您。
关于Model
LocOccLMouse 示例:
<?php
namespace App\Models
use Illuminate\Database\Eloquent\Model;
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....
}
希望能帮到你