Я хочу использовать automapper для создания абсолютного URL-адреса с использованием профиля Automappers. Что лучше всего делать?Как разрешить абсолютный URL-адрес с automapper
- Мои профили автоконфигурируются во время запуска.
Я использую контейнер Ioc, если это может помочь.
SourceToDestinationProfile : Profile { public SourceToDestinationProfile() { var map = CreateMap<Source, Destination>(); map.ForMember(dst => dst.MyAbsoluteUrl, opt => opt.MapFrom(src => "http://www.thisiswhatiwant.com/" + src.MyRelativeUrl)); ... } }
В некотором роде я динамически хочу забрать запрос базового URL («http://www.thisiswhatiwant.com/»), чтобы сделать возможным, чтобы положить его вместе с моим RelativeURL. Я знаю один способ сделать это, но это не очень, т. Е. Не может быть лучшим способом.
Я думаю, что это анти-модель, потому что картографы должны быть немым, и, таким образом, вы можете противостоять искушению вводя слишком много логики в них. –
Да, вы правы в этом смысле, они должны быть совершенно глупыми. Карту от одной вещи к другой. Дело в том, что я хочу выставить полные ссылки на другие ресурсы в моем api, и поэтому мне нужен этот базовый url. Одним из решений было бы «расширить» мой исходный объект (то есть SourceWithContext) и включить базовый url в качестве контекста при сопоставлении. Это означает, что отображение будет осуществляться только от источника до адресата. Конкатенацию нужно делать где-то ... – Per