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
Susan Sarandonasal
2024-11-01 12:49:30628semak imbas

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>

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

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!

Kenyataan:
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