그룹 멤버 추가와 소유자 추가: 데이터 형식이 다릅니다

API를 사용하여 그룹에 멤버와 소유자를 추가할 때, 필요한 데이터 형식이 서로 다르게 보입니다. 이는 의도된 것일 수 있지만, 그 이유를 알고 싶습니다. (이 문제로 인해 pydiscourse가 깨지고 있는데, pydiscourse는 제가 찾은 Python에서 Discourse API와 상호작용하는 가장 좋은 라이브러리입니다.)

그룹에 멤버 추가:

curl -X PUT "https://{mydomain}/admin/groups/{group_id}/members.json" \
    -d 'usernames={my-username}' \
    -H "Api-Key: {my-api-key}" \
    -H "Api-Username: {my-api-username}"

그룹에 소유자 추가:

curl -X PUT "https://{mydomain}/admin/groups/{group_id}/owners.json" \
    -d 'group[usernames]={my-username}' \
    -H "Api-Key: {my-api-key}" \
    -H "Api-Username: {my-api-username}"

owners 엔드포인트에서 사용자 이름 파라미터의 키가 단순히 usernames가 아니라 group[usernames]로 작성되어야 하는 이유가 궁금합니다.

제가 드릴 수 있는 유일한 이유는 실제로 두 가지 다른 컨트롤러를 사용하고 있기 때문이라는 것입니다.

멤버 추가 엔드포인트는 groups 컨트롤러에 매핑되어 있습니다:

PUT /admin/groups/:id/members(.:format) groups#add_members 

그리고 오너 추가 엔드포인트는 admin groups 컨트롤러에 매핑되어 있습니다.

PUT /admin/groups/:id/owners(.:format) admin/groups#add_owners

많은 통합 프로그램들이 이미 이 엔드포인트를 그대로 사용하고 있기 때문에, 이 엔드포인트를 업데이트할 가능성은 낮습니다. 가장 좋은 방법은 pydiscourse 저장소에서 이슈를 여는 것입니다. pydiscourse 내에서 해결될 때까지, Python 앱에서 add_group_owner에 대한 monkey patch를 적용하여 수정할 수도 있습니다.