Size: a a a

Spring Framework and more

2019 August 14

DS

Dmitry Shut in Spring Framework and more
И MultipartFile
источник

RS

Ruslan Stelmachenko in Spring Framework and more
MultipartFile это про upload, а если есть список ссылок, то это download... Просто любым http-клиентом скачать. даже тем же RestTemplate, если добавить ему ByteArrayHttpMessageConverter
источник

Ю

Юрий in Spring Framework and more
вот пока так
источник

Ю

Юрий in Spring Framework and more
RestTemplate restTemplate = new RestTemplate();
       byte[] image = restTemplate.getForObject(str, byte[].class);
       try {
           Files.write(Paths.get("images.jpg"), image);
       } catch (IOException e) {
           e.printStackTrace();
       }
источник

Ю

Юрий in Spring Framework and more
но  есть друга  трабла а как мне названия оригинальные оставлять?
источник

DS

Dmitry Shut in Spring Framework and more
А в урле его нет?
источник

Ю

Юрий in Spring Framework and more
источник

Ю

Юрий in Spring Framework and more
есть name
источник

Ю

Юрий in Spring Framework and more
а как с урлы взять параметр?
источник

RS

Ruslan Stelmachenko in Spring Framework and more
можно например UriComponentsBuilder.fromHttpUrl(...) и потом соответствующим методом вытащить из объекта
источник
2019 August 15

Ю

Юрий in Spring Framework and more
String name ="";
       String myUrl ="src\\main\\resources\\static\\";
       String jpg = ".jpg";
       String str = "http://mysite/cs/api/getProductFile?type=images&productId=170207145629439&name=70168_Box1&extension=jpg&customerId=85&compression=50";

       RestTemplate restTemplate = new RestTemplate();
       byte[] image = restTemplate.getForObject(str, byte[].class);
       MultiValueMap<String, String> parameters =
               UriComponentsBuilder.fromUriString(str).build().getQueryParams();
       name = parameters.get("name").get(0);
       myUrl = myUrl+name+jpg;
       System.out.println(myUrl);
       try {
           Files.write(Paths.get(myUrl), image);
       } catch (IOException e) {
           e.printStackTrace();
       }
источник

Ю

Юрий in Spring Framework and more
так порешал
источник

Ю

Юрий in Spring Framework and more
мне теперь нужно дать на фронт ссылку на эту фотку, что посоветуете ?
источник

KS

Kamo Spertsyan in Spring Framework and more
Привет, коллеги! По spring boot вопросы можно здесь задавать?
источник

СЭ

Сергей Эйрих in Spring Framework and more
Если не боишься
источник

KS

Kamo Spertsyan in Spring Framework and more
Не могу понять, почему не работают транзакции.
Spring Boot 2.1.6 + Kotlin

Сервис реализован следующим образом:

interface ShopService {

   fun createShop(data: SjopData): Shop
}

@Service
@EnableTransactionManagement
class ShopServiceImpl : ShopService {

   @Transactional
   override fun createShop(shopInfo: ShopInfoWrapper, supplier: Supplier): Shop {
               ...
   }
}


Внутри createShop я создаю сущность магазина, сохраняю в базу и потом создаю и добавляю к ней отдельные элементы (ShopItem), которые создаются в другом сервисе (ShopItemService). Я ожидаю, что, если при создании ShopItem вылетает исключение, транзакция полностью отменится и все сохраненные сущности удалятся. Но этого не происходит - у меня остаётся жить Shop без ShopItem-ов.

Исключение не обрабатываю, оно отлавливается только `RestResponseExceptionHandler`-ом.
Репозиторий:
@Repository
interface ShopRepository: JpaRepository<Shop, UUID>
источник

PB

Pavel Bukhmatov in Spring Framework and more
Kamo Spertsyan
Не могу понять, почему не работают транзакции.
Spring Boot 2.1.6 + Kotlin

Сервис реализован следующим образом:

interface ShopService {

   fun createShop(data: SjopData): Shop
}

@Service
@EnableTransactionManagement
class ShopServiceImpl : ShopService {

   @Transactional
   override fun createShop(shopInfo: ShopInfoWrapper, supplier: Supplier): Shop {
               ...
   }
}


Внутри createShop я создаю сущность магазина, сохраняю в базу и потом создаю и добавляю к ней отдельные элементы (ShopItem), которые создаются в другом сервисе (ShopItemService). Я ожидаю, что, если при создании ShopItem вылетает исключение, транзакция полностью отменится и все сохраненные сущности удалятся. Но этого не происходит - у меня остаётся жить Shop без ShopItem-ов.

Исключение не обрабатываю, оно отлавливается только `RestResponseExceptionHandler`-ом.
Репозиторий:
@Repository
interface ShopRepository: JpaRepository<Shop, UUID>
А какая ошибка у вас прокидывается  при создании ShopItem'ов?
источник

KS

Kamo Spertsyan in Spring Framework and more
Pavel Bukhmatov
А какая ошибка у вас прокидывается  при создании ShopItem'ов?
Кастомная, наследуемая от IllegalStateExcepttion/NotFoundException и т.д.
источник

PB

Pavel Bukhmatov in Spring Framework and more
Kamo Spertsyan
Кастомная, наследуемая от IllegalStateExcepttion/NotFoundException и т.д.
Хм. Поскольку эти 2 - Runtime, все должно работать. Такая проблема может быть, если вы кидаете наследника просто  Exception. В котлине легко не заметить, так как язык не требует их обрабатывать, но тут какой-то другой кейс)

Возможно над методом, создающим сущности shop, есть propagation?
источник

KS

Kamo Spertsyan in Spring Framework and more
Propagation не использую нигде. Конкретно в том кейсе, на котором я получаю неконсистентность, эксепш расследуется от IllegalArgumentException
источник