30 मिनट में Java पर REST API कैसे लिखें: चरण-दर-चरण मार्गदर्शिका
REST API बनाना आधुनिक Java डेवलपर के प्रमुख कौशलों में से एक है। REST (Representational State Transfer) हल्के, स्केलेबल और समझने योग्य वेब सेवाओं के निर्माण की अनुमति देता है। इस मार्गदर्शिका में हम 30 मिनट में Spring Boot की मदद से एक पूर्ण REST API बनाएंगे। आप प्रोजेक्ट सेट करना, उपयोगकर्ताओं के साथ काम करने के लिए एंडपॉइंट बनाना, JSON प्रोसेस करना और Postman या ब्राउज़र के माध्यम से API का परीक्षण करना सीखेंगे।
1. REST API क्या है और इसकी आवश्यकता क्यों है?
REST API एक आर्किटेक्चरल शैली है जिसमें क्लाइंट और सर्वर HTTP अनुरोधों के माध्यम से डेटा का आदान-प्रदान करते हैं। REST के मूल सिद्धांत:
- संसाधन — प्रत्येक वस्तु (उपयोगकर्ता, उत्पाद, ऑर्डर) URL पते द्वारा दर्शाया जाता है।
- HTTP विधियाँ — GET (पढ़ना), POST (बनाना), PUT (अपडेट करना), DELETE (हटाना)।
- Stateless — प्रत्येक अनुरोध में सभी आवश्यक जानकारी होती है; सर्वर सत्र की स्थिति संग्रहीत नहीं करता है।
- डेटा प्रारूप — अक्सर JSON या XML।
REST API का उपयोग मोबाइल ऐप्स, वेब फ्रंटएंड, माइक्रोसर्विसेज और सिस्टम इंटीग्रेशन में किया जाता है। Java पर REST API बनाने के लिए सबसे लोकप्रिय फ्रेमवर्क Spring Boot है — यह तैयार एनोटेशन और स्वचालित कॉन्फ़िगरेशन प्रदान करता है।
2. Spring Boot प्रोजेक्ट की तैयारी
शुरू करने के लिए आपको आवश्यकता होगी:
- JDK 17 या उच्चतर
- IntelliJ IDEA या कोई अन्य IDE
- Maven या Gradle
Spring Initializr की मदद से प्रोजेक्ट बनाएं। चुनें:
- Project: Maven
- Language: Java
- Spring Boot: 3.2.0 (या नवीनतम स्थिर संस्करण)
- Dependencies: Spring Web, Spring Boot DevTools
"Generate" पर क्लिक करें और आर्काइव को अनज़िप करें। प्रोजेक्ट को IDE में खोलें। संरचना इस प्रकार दिखेगी:
rest-api-demo/├── src/main/java/com/example/restapidemo/│ ├── RestApiDemoApplication.java│ └── controller/│ └── UserController.java├── src/main/resources/│ └── application.properties└── pom.xml3. डेटा मॉडल और कंट्रोलर बनाना
एक सरल मॉडल User बनाएं (पैकेज model में क्लास):
package com.example.restapidemo.model;
public class User { private Long id; private String name; private String email;
public User() {}
public User(Long id, String name, String email) { this.id = id; this.name = name; this.email = email; }
// गेटर्स और सेटर्स public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}अब पैकेज controller में कंट्रोलर UserController बनाएं। यह हमारे API का हृदय है:
package com.example.restapidemo.controller;
import com.example.restapidemo.model.User;import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicLong;
@RestController@RequestMapping("/api/users")public class UserController {
private final List<User> users = new ArrayList<>(); private final AtomicLong counter = new AtomicLong();
public UserController() { // परीक्षण डेटा users.add(new User(counter.incrementAndGet(), "Alice", "alice@example.com")); users.add(new User(counter.incrementAndGet(), "Bob", "bob@example.com")); }
// GET /api/users — सभी उपयोगकर्ता प्राप्त करें @GetMapping public List<