Rumah > Java > javaTutorial > Mengapa saya mendapat ralat \'Field memerlukan jenis kacang yang tidak dapat ditemui\' dalam Spring RESTful API saya dengan MongoDB?

Mengapa saya mendapat ralat \'Field memerlukan jenis kacang yang tidak dapat ditemui\' dalam Spring RESTful API saya dengan MongoDB?

Susan Sarandon
Lepaskan: 2024-11-01 12:49:30
asal
626 orang telah melayarinya

Why am I getting the

'Field memerlukan jenis kacang yang tidak ditemui' Ralat dalam Spring RESTful API Menggunakan MongoDB

Apabila cuba untuk mengintegrasikan MongoDB dengan Spring RESTful API, pengguna mungkin menghadapi ralat "'Field memerlukan jenis kacang yang tidak dapat ditemui.'" Ralat ini menunjukkan bahawa aplikasi Spring tidak dapat mencari kacang penting, dalam kes ini, kacang UserService.

The ralat timbul daripada cara Spring mengimbas komponen dalam projek. Secara lalai, Spring mengimbas komponen dalam pakej beranotasi dengan @SpringBootApplication. Dalam kes ini, kelas UsersController, yang bergantung pada UserService, terletak di luar laluan imbasan lalai.

Untuk menyelesaikan isu ini, terdapat dua pendekatan utama:

Pendekatan 1 : Sesuaikan Pengimbasan Pakej

Tentukan secara manual pakej yang perlu diimbas untuk komponen menggunakan anotasi @SpringBootApplication(scanBasePackages={...}). Dalam kes ini, tambahkan baris berikut pada kelas aplikasi utama:

<code class="java">@SpringBootApplication(scanBasePackages={"main.java.service", "main.java.rest"})</code>
Salin selepas log masuk

Ini akan mengarahkan Spring untuk mengimbas kedua-dua perkhidmatan dan pakej rehat untuk komponen.

Pendekatan 2: Susun Semula Struktur Pakej

Sebagai alternatif, susun semula struktur pakej projek untuk memastikan semua komponen yang berkaitan berada dalam pakej yang sama. Dalam kes ini, susun semula projek seperti berikut:

src/
├── main/
│   └── java/
|       └── com.example/
|       |   ├── Application.java
|       |   ├── model/
|       |   |   └── User.java
|       |   ├── rest/
|       |   |   ├── IndexController.java
|       |   |   └── UsersController.java
|       |   ├── service/
|       |   |   └── UserService.java
└── resources/
    └── application.properties
Salin selepas log masuk

Ini akan memastikan semua komponen yang berkaitan dengan UserService berada dalam pakej yang sama dan Spring akan mengimbasnya secara automatik.

Atas ialah kandungan terperinci Mengapa saya mendapat ralat \'Field memerlukan jenis kacang yang tidak dapat ditemui\' dalam Spring RESTful API saya dengan MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan