问题描述
我有一个要序列化的数据架构。
use JMS\Serializer\Annotation as Serializer;
use JMS\Serializer\Annotation\AccessorOrder;
/**
* @AccessorOrder("custom",custom = {"email","name","password"})
* @Serializer\ExclusionPolicy("all")
*/
class SignInRequest
{
/**
* @Serializer\Expose()
* @Serializer\Type("string")
* @var string
*/
public string $email;
/**
* @Serializer\Expose()
* @Serializer\Type("string")
* @var string
*/
public string $name;
/**
* @Serializer\Expose()
* @Serializer\Type("string")
* @var string
*/
public string $password;
}
数据序列化
class RequestData
{
private SerializerBuilder $serializerBuilder;
/**
* RequestData constructor.
* @param SerializerBuilder $serializerBuilder
*/
public function __construct(SerializerBuilder $serializerBuilder)
{
$this->serializerBuilder = $serializerBuilder;
}
public function getData(ServerRequestInterface $request,string $object): object
{
$serializer = $this->serializerBuilder->build();
return $serializer->deserialize((string)$request->getBody(),$object,'json');
}
}
我如何检查用户是否根据上面的架构在 (json) 中提交数据。如果数据不是这种形式,我可以发送开箱即用的瘦身例外 带有数据与架构不匹配的消息。使用内置的 JMS Serializer 功能??
提前致谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)