Yaylı veri istirahat kılavuzunu Accessing JPA Data with REST takip ediyorum. Yeni bir kayıt yayınladığımda, eklenir (ve yanıt 201). Bu harika, ancak yeni oluşturulan nesneyi döndürmek için REST MVC kodunu yapılandırmanın bir yolu var mı? Yeni örneği bulmak için bir arama isteği göndermek zorunda kalmamayı tercih ederim.Bir POST isteği için oluşturulan kaynağın temsilini döndürmek için Yay Verisi Sırası nasıl yapılandırılır?
cevap
Oluşturulan varlığı aramak zorunda değilsiniz. HTTP özelliklerinin önerdiği gibi, 201 Created
durum kodu döndüren POST
isteklerinin, yaratılan kaynağın URI'sini içeren bir Location
başlık içermesi gerekir.
Böylece yapmanız gereken tek şey, söz konusu URI'ye GET
isteğini etkili bir şekilde vermek. Spring Data REST'in ayrıca, RepositoryRestConfiguration.setReturnBodyOnCreate(…)
ve ….setReturnBodyOnUpdate(…)
'da iki yöntemi vardır; bu çerçeveyi, oluşturulan kaynağın temsilini hemen döndürmek üzere yapılandırmak için kullanabilirsiniz. Bahar Boot ile
Örnek:
@Configuration
@EnableMongoRepositories
@Import(RepositoryRestMvcConfiguration.class)
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
ConfigurableApplicationContext ctx = SpringApplication.run(Application.class, args);
RepositoryRestConfiguration restConfiguration = ctx.getBean(RepositoryRestConfiguration.class);
restConfiguration.setReturnBodyOnCreate(true);
}
}
veya
@Configuration
@EnableMongoRepositories
@EnableAutoConfiguration
public class Application extends RepositoryRestMvcConfiguration {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
super.configureRepositoryRestConfiguration(config);
config.setReturnBodyOnCreate(true);
}
}
İyi Şanslar!
configureRepositoryRestConfiguration, 2.4 sürümünden beri, RepositoryRestConfigurer.configureRepositoryRestConfiguration (RepositoryRestConfiguration) yöntemini doğrudan doğruya veya RepositoryRestConfigurerAdapter öğesini uygulayıp yöntemi geçersiz kılar. –
Burada RepositoryRestMvcConfiguration veya ConfigurableApplicationContext kullanarak genişletmek yerine DI kullanan başka bir varyant. Bahar Önyükleme kullanıyorsanız
@SpringBootApplication
@EnableConfigurationProperties
@Configuration
@ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Autowired private RepositoryRestConfiguration repositoryRestConfiguration;
@PostConstruct
public void exposeIds() {
this.repositoryRestConfiguration.setReturnBodyForPutAndPost(true);
}
}
bu alternatif, daha sonra, daha iyi bir çözüm ya da gerçekten sadece bir alternatif mi? Demek istediğim, herhangi birini kullanarak kazanç var mı? –
, bu soruya dayanarak sırasıyla POST
(oluştur) ve PUT
(güncelleme)
spring.data.rest.return-body-on-create=true
spring.data.rest.return-body-on-update=true
- 1. Yay verisi için anahtar kelime nasıl yazılır?
- 2. Açısal JS POST isteği JSON verisi göndermiyor
- 3. Varsayılan $ resource POST verisi
- 4. Yay verisi jpa'da birçoğundan sayma (*) nasıl seçilir?
- 5. bir POST isteği
- 6. $ .post jquery isteği için gecikme ekleme
- 7. Yay Verisi REST projeksiyonlarına nasıl link eklenir?
- 8. POST için çok yönlü/form verisi isteyerek POST için python ayar sınırı
- 9. Yay isteği kapsamı fasulye
- 10. Yay oluşturulan WSDL
- 11. Yay Verisi Redis - Komut desteği için destek PUBSUB KANALLARI
- 12. Yay Verisi JPA: Örnekle Sorgulama?
- 13. Href'de bir POST isteği için veri saklama - kötü uygulama?
- 14. Rastgele sonuç döndürmek (sırası ile rand())
- 15. POST isteği nasıl simüle edilir?
- 16. Yay önyükleme: Bir @RepositoryRestResource üzerinde sayfalandırma nasıl yapılandırılır?
- 17. POST isteği için doğru Content-Length nasıl yapılır
- 18. Rails POST yöntemi için postacı isteği nasıl oluşturulur
- 19. Retrofit ile veritabanına POST verisi
- 20. node.js Express'ten bir POST isteği nasıl gönderilir?
- 21. LWP ile nasıl bir JSON POST isteği yapabilirim?
- 22. Ben bir post isteği göndermek
- 23. Gitlab için SSH nasıl yapılandırılır?
- 24. POST İsteği Yükseltme 2.0
- 25. POST İsteği 'Veri Yok'
- 26. POST gövdesi isteği NSJSONSerialization.dataWithJSONObject
- 27. ComputerCraft POST isteği
- 28. Sunucu tarafında oluşturulan Reaktif uygulamasında birden çok HTTP isteği nasıl yapılandırılır?
- 29. Restangular POST isteği
- 30. Yay kullanarak HTTP posta isteği nasıl gönderilir?
için
application.properties
dosyasına aşağıdaki satırları ekleyebilirsiniz, ben aslında güncelledik Spring Data REST'in başlaması, bu bilgileri içerecek şekilde kılavuzluk eder, böylece bu özelliği keşfetmek için buraya gelmeniz gerekmez. – gregturn@gregturn Bence bu tam olarak aradığım çözüm. – chrylis
Mükemmel! Bunu okumayı hatırlıyorum ama testlere başladığımda nereye bakacağımı unuttum. –