java - REST API-对不同的参数使用相同的URI和相同的方法来调用不同的方法
问题描述
我有一个棘手的情况,我需要使用相同的 URI 来调用 POST 操作,一个带有单个对象,另一个带有相同类型对象的数组。问题是我无法更改 URI。例如
POST /my-services/v1/users with single user object as part of request body
&
POST /my-services/v1/users with array of user objects as part of request body
我无法更改第二次操作的 URI,例如 /my-services/v1/ bulk -users
那么,问题是,如何在 REST API 中添加这些方法?
解决方案
在大多数 JSON 映射器(例如Jackson
)中,您可以设置一个属性ACCEPT_SINGLE_VALUE_AS_ARRAY
,它将基本上将单个对象视为一个数组,因此您可以定义一次端点(用于集合)。
然后你实现你的端点,因为它总是将 aCollection
作为输入,即使客户端将发送单个 JSON 对象,它也会由映射器处理。
推荐阅读
- algorithm - 在不触及 html 属性的情况下替换单词列表的最有效方法是什么?
- android - 如何阻止 webview 在 android 中刷新?
- sql - 与视图结果相比,如何最好地检查已导出到 xlsx 文件的 nvarchar 字段的完整性?
- python - 将日期时间的文本条目替换为 Django 表单中的日历日期选择器图标
- c# - 迭代程序集的所有枚举时获取 DisplayAttribute
- git - 如何按内容搜索 Git 存储库(即,跨所有先前状态的 repo 的正则表达式,而不仅仅是提交消息)
- powershell - 通过 Powershell 将经过身份验证的用户添加到管理员组
- javascript - 如何让axios在react.js中动态获取请求?
- twitter - Twitter API:如何创建仅协议回调 URL?
- python - PYTHON:从服务器接收到的数据返回