> On 三月 19, 2023, 5:03 p.m., YiJi Gao wrote: > > Would it be more extensible to use map instead? In this case, there's no > > need for an extra modal class. > > Here's an example. > > ```java > > @PutMapping("/example") > > public ResponseEntity<String> handlePutRequest( > > @RequestBody Map<String, List<String>> request, > > @RequestParam("myBooleanParam") boolean myBooleanParam > > ) { > > List<String> firstList = request.get("firstList"); > > List<String> secondList = request.get("secondList"); > > > > // do something with the lists and the boolean parameter > > > > return ResponseEntity.ok("Success"); > > } > > > > ``` > > Ramachandran Krishnan wrote: > Are you expecting something like this ? > > @PutMapping("/example") > public ResponseEntity<String> handlePutRequest( > MultiValueMap< String, List<String> > rangerUsersAndGroupMap, > @RequestParam("myBooleanParam") boolean myBooleanParam > ) { > List<String> userList = request.get("users"); > List<String> groupList = request.get("groups"); > // do something with the lists and the boolean parameter > > return ResponseEntity.ok("Success"); > } > > YiJi Gao wrote: > Exactly. > > Ramachandran Krishnan wrote: > Sure let me give a try and test it once > > Ramachandran Krishnan wrote: > I feel RangerUsersAndGroups (modal class ) will be a cleaner apporach > In the future we can accomadate more fields with different type (not > List<Stringt> may be some other object) in the same modal > RangerUsersAndGroups if it is needed > > Ramachandran Krishnan wrote: > cc madhan > > Ramachandran Krishnan wrote: > if you use Map ,we need to validate the correct key whether user is > paased the correct key or not (users or groups) ?
if we need to accomadte more fields, emmm...that makes sense. Speaking of field validation, it would be convenient to use map.getOrDefault() instead of if-else. - YiJi ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/74349/#review225274 ----------------------------------------------------------- On 三月 15, 2023, 3:24 p.m., Ramachandran Krishnan wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/74349/ > ----------------------------------------------------------- > > (Updated 三月 15, 2023, 3:24 p.m.) > > > Review request for ranger, Don Bosco Durai, Abhay Kulkarni, Madhan Neethiraj, > Mehul Parikh, Nikhil P, Pradeep Agrawal, Ramesh Mani, Selvamohan Neethiraj, > Sailaja Polavarapu, Subhrat Chaudhary, and Velmurugan Periasamy. > > > Bugs: RANGER-4133 > https://issues.apache.org/jira/browse/RANGER-4133 > > > Repository: ranger > > > Description > ------- > > Apis: > > API :addUsersAndGroups > > URI:/roles/roles/{id}/addUsersAndGroups > > In the API we mentioned a couple of fields (List<String> users, List<String> > groups, Boolean isAdmin). > How the caller will pass the fields > Proposed Solution: > Via query Parameter (Limitation: we can not pass more characters as part of > URI ) > Via Request payload of List<String> users, List<String> groups, Boolean > isAdmin –(RangerUsersAndGroups –Modal mentioned above to accommodate users, > groups, isAdmin) > > > API :removeUsersAndGroups > > URI:/roles/roles/{id}/removeUsersAndGroups > > > In the API we mentioned a couple of fields (List<String> users, List<String> > groups) > How the caller will pass the fields > Proposed Solution: > Via query Parameter (Limitation: we can not pass more characters as part of > URI ) > Via Request payload of List<String> users, List<String> groups > (RangerUsersAndGroups –Modal mentioned above to accommodate users,groups) > > API :removeAdminFromUsersAndGroups > > URI:/roles/roles/{id}/removeUsersAndGroups > > > In the API we mentioned a couple of fields (List<String> users, List<String> > groups) > How the caller will pass the fields > Proposed Solution: > Via query Parameter (Limitation: we can not pass more characters as part of > URI ) > Via Request payload of List<String> users, List<String> groups > (RangerUsersAndGroups –Modal mentioned above to accommodate users, groups) > > > Diffs > ----- > > > agents-common/src/main/java/org/apache/ranger/plugin/model/RangerUsersAndGroups.java > PRE-CREATION > security-admin/src/main/java/org/apache/ranger/rest/PublicAPIsv2.java > 85cd7dd67 > security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java 4f0edd2b0 > security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIsv2.java > 73a593e9f > security-admin/src/test/java/org/apache/ranger/rest/TestRoleREST.java > 217c1bba3 > > > Diff: https://reviews.apache.org/r/74349/diff/1/ > > > Testing > ------- > > > Thanks, > > Ramachandran Krishnan > >