All Downloads are FREE. Search and download functionalities are using the official Maven repository.

am.ik.home.client.member.MemberClientImpl Maven / Gradle / Ivy

The newest version!
package am.ik.home.client.member;

import static am.ik.home.client.member.TypeReferences.memberResourceType;
import static am.ik.home.client.member.TypeReferences.memberResourcesType;

import org.springframework.data.domain.Pageable;
import org.springframework.hateoas.PagedResources;
import org.springframework.hateoas.Resource;
import org.springframework.http.RequestEntity;
import org.springframework.web.client.RestTemplate;

public class MemberClientImpl implements MemberClient {
	private final String apiBase;
	private final RestTemplate restTemplate;

	public MemberClientImpl(String apiBase, RestTemplate restTemplate) {
		this.apiBase = apiBase;
		this.restTemplate = restTemplate;
	}

	@Override
	public PagedResources findAll(Pageable pageable) {
		RequestEntity requestEntity = RequestEntities.findAll(apiBase, pageable);
		return restTemplate.exchange(requestEntity, memberResourcesType).getBody();
	}

	@Override
	public Resource findOne(String memberId) {
		RequestEntity requestEntity = RequestEntities.findOne(apiBase, memberId);
		return restTemplate.exchange(requestEntity, memberResourceType).getBody();
	}

	@Override
	public PagedResources findByIds(String... ids) {
		RequestEntity requestEntity = RequestEntities.findByIds(apiBase, ids);
		return restTemplate.exchange(requestEntity, memberResourcesType).getBody();
	}

	@Override
	public Resource findByEmail(String email) {
		RequestEntity requestEntity = RequestEntities.findByEmail(apiBase, email);
		return restTemplate.exchange(requestEntity, memberResourceType).getBody();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy