Apple의 PHP 편집기는 일부 업데이트를 처리할 때 키가 존재하지 않는 문제를 여러분과 공유하기 위해 왔습니다. PATCH 요청을 할 때 키가 존재하지 않는 상황이 발생하는 경우가 있습니다. 그렇다면 우리는 어떻게 대처해야 할까요? 이 글에서는 이 상황을 더 잘 처리하고 시스템의 정상적인 작동을 보장하기 위해 이 문제를 해결하는 방법과 단계를 자세히 소개합니다. 한 번 보자!
이 문제를 해결하는 방법을 찾으려고 노력 중입니다.
저는 user
结构,上面有一些字段。但是,当为 patch 用户调用解码 json 对象时,缺少键会导致值设置为 *nil。对应的数据库属性是 text null
유형을 가지고 있으므로 키가 누락되면 결과는 항상 null로 저장됩니다.
imageurl
nil일 수 있지만 객체가 클라이언트에서 전송되는 경우:
이것은 imageurl
= nil,因为 json 中不存在 imageurl
이 json에 존재하지 않기 때문에
map[string]struct{}
而不是我的 dto 检查每个字段是否存在的情况下处理部分更新?
您可以实现自定义json.unmarshaler
来确定是否该字段被完全省略,已提供但其值为 null
각 필드가 존재하는지 확인하는 dto 대신 map[string]struct{}
를 사용하지 않고 부분 업데이트를 어떻게 처리할 수 있나요?
Solution사용자 정의 json.unmarshaler
null
이거나 null이 아닌 값이 제공되었습니다.
으아악
으아악
https://www.php.cn/link/22f791da07b0d8a2504c2537c560001c
json.decoder
(由 json.unmarshal
사용자 정의 유형이 필요하지 않은 또 다른 방법은 json을
하기 전에 go 필드의 값을 현재 데이터베이스 열의 값으로 설정하는 것입니다. 들어오는 json에 일치하는 필드가 없으면
)을 사용하면 대상 필드를 "접촉"하지 않습니다. 🎜 으아악 🎜🎜https://www.php.cn/link/cdf49f5251e7b3eb4f009483121e9b64🎜🎜위 내용은 키가 없을 때 PATCH 부분 업데이트 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!