private HttpHeaders defaultHeaders() { return Builders.httpHeadersBuilder() .add("x-msg-secret-key", Constants.getMsgSecretKey()) .add("x-tenant-id", String.valueOf(tenantService.getCurrentTenant().getId())) .add("content-type", MediaType.APPLICATION_FORM_URLENCODED_VALUE) .build(); }
@Override public void changeOwner(long roomId, long ownerId) throws MessageException { try { MultiValueMap<String, Object> params = Builders.multiValueMapBuilder().add("ownerId", String.valueOf(ownerId)).build(); HttpEntity<?> entity = new HttpEntity<Object>(params, defaultHeaders()); Map<String, String> urlVars = Maps.newHashMap(); urlVars.put("id", String.valueOf(roomId)); restTemplate.exchange(URL_ROOM, HttpMethod.GET, entity, Map.class, urlVars); } catch (Exception e) { throw new MessageException(e); } }
public Room createRoom(String subject, long ownerId, List<Long> occupantIds, boolean special) { try { HttpHeaders headers = defaultHeaders(); MultiValueMap<String, Object> params = Builders.multiValueMapBuilder() .add("subject", subject) .add("ownerId", String.valueOf(ownerId)) .add("occupantIds", Joiner.on(',').join(occupantIds)) .add("special", String.valueOf(special)) .build(); HttpEntity<?> entity = new HttpEntity<Object>(params, headers); HttpEntity<Room> response = restTemplate.exchange(URL_ROOMS, HttpMethod.POST, entity, Room.class, params); return response.getBody(); } catch (Exception e) { throw new MessageException(e); } }
public void addOccupants(long roomId, List<Long> occupantIds) { try { // headers HttpHeaders headers = defaultHeaders(); // body参数 MultiValueMap<String, Object> params = Builders.multiValueMapBuilder() .add("occupantIds", Joiner.on(',').join(occupantIds)) .build(); HttpEntity<?> entity = new HttpEntity<Object>(params, headers); // url参数 Map<String, String> urlVars = Maps.newHashMap(); urlVars.put("id", String.valueOf(roomId)); restTemplate.exchange(URL_OCCUPANTS, HttpMethod.POST, entity, Map.class, urlVars); } catch (Exception e) { throw new MessageException(e); } }