我正在尝试处理 Postgres 错误。如果用户发送无效的 uuid - Postgres 返回错误消息:pq: invalid input syntax for type uuid:...
所以,我想检查那个错误,如果错误等于无效的输入语法错误——我想向客户端显示 404 错误,而不是返回服务器错误。
但是我在 Postgres 库中找不到返回的错误的定义错误类型...
有人可以建议我,返回的错误在哪里?
在查询中,您可以将该uuid列强制转换为text. 这里有两种方法可以做到这一点:
SELECT * FROM user WHERE id::text = 'sometext'
SELECT * FROM user WHERE text(id) = 'sometext'
还在这里讨论: https ://stackoverflow.com/a/46494463/2316115
PostgreSQL 类型转换记录在这里: https ://www.postgresql.org/docs/current/sql-expressions.html#SQL-SYNTAX-TYPE-CASTS