使用 rxjava+retrofit 将参数传递给链式响应

Pass parameters to chained responses with rxjava+retrofit

我有一个包含 ID、名称和 url 的对象列表,我需要调用服务来为该列表中的每个元素获取图像 url,但我还需要添加 url 到每个对象,像这样

public class PhotoDomainEntity {
String id;
String name;
String urL;}

ID 和姓名已知,但我需要调用休息服务才能获得 url 这样的

 Observable.from(entities)
                    .flatMap(new Func1<PhotoDomainEntity, Observable<PhotoEntity>>() {
                        @Override
                        public Observable<PhotoEntity> call(PhotoDomainEntity s) {
                            //call get photo details for each id

                            return PhotosApi.photosApi.getPhotoData(Constants.API_KEY, s.id,
                                    Constants.FLICKR_FORMAT, Constants.NO_JSONP_RESPONSE);
                        }
                    })

对于每个调用,我需要将 url 添加到 PhotoDomainEntity。我如何在每次呼叫响应到达时传递 ID 和名称?

Observable.from(entities)
.flatMap(new Func1<PhotoDomainEntity, Observable<PhotoEntity>>() {

    @Override
    public Observable<PhotoEntity> call(final PhotoDomainEntity s) {
        //call get photo details for each id

        return PhotosApi.photosApi.getPhotoData(
            Constants.API_KEY,
            s.id,
            Constants.FLICKR_FORMAT,
            Constants.NO_JSONP_RESPONSE)
        .map(new Func1<PhotoEntity, PhotoEntity>() {

            @Override
            public PhotoEntity call(PhotoEntity fromServer) {
                // if mutable:
                fromServer.setId(s.getId());

                return fromServer;
            }
        });
    }
})