جاوا و تکنولوژی های آن

java programming language

در این وبلاگ به بررسی نکات موجود در جاوا و تکنولوژی های آن می پردازیم

طبقه بندی موضوعی


Controller@ :

یکی از annotation های قدیمی اسپرینگ است که از زمان زیادی بخشی از فریم ورک اسپرینگ بوده است. با استفاده از این annotation ما کلاس های کنترلر را به طور عموم مشخص میکنیم که میتواند کاربرد عمومی و معمول تری را داشته باشد که میتواند توسط کلاس های Component@ اسکن و تحت عنوان controller شناسایی شوند.

کلاس هایی که نقش کنترلر را دارند که همراه با RequestMapping@ برای متناظر کردن درخواست های دریافتی تعریف میشوند مانند زیر :

@Controller
@RequestMapping("books")
public class SimpleBookController {
 
    @GetMapping("/{id}", produces = "application/json")
    public @ResponseBody Book getBook(@PathVariable int id) {
        return findBookById(id);
    }
 
    private Book findBookById(int id) {
        // ...
    }
}


* در قطعه کد بالا ResponseBody@ برای تبدیل و سریالایز کردن (بصورت JSON) دیتای درون Object برگشتی Book به HttpResponse بکار گرفته شده است




RestController@ :

این annotation از Spring 4.0 اضافه شده است و برای راحتی ایجاد وب سرویس های RESTful مورد استفاده قرار میگیرد. با استفاده از این annotation دیگر نیازی نیست که از Controller@ روی کلاس و ResponseBody@ روی تک تک متد ها استفاده کنیم (در وب سرویس REST ما همیشه نیاز داریم دیتایی را در هر درخواست به کلاینت ارسال کنیم برای همین اگر از این annotation استفاده نکنیم همیشه نیاز داشتیم که از ResponseBody@ استفاده کنیم)

@RestController
@RequestMapping("books-rest")
public class SimpleBookRestController {
     
    @GetMapping("/{id}", produces = "application/json")
    public Book getBook(@PathVariable int id) {
        return findBookById(id);
    }
 
    private Book findBookById(int id) {
        // ...
    }
}




نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی