আমি টুর্নামেন্ট এবং সময়সূচীর জন্য একটি সাধারণ RESTful পরিষেবা বিকাশ করছি। যখন কোনও টুর্নামেন্ট জেএসওএন বডি সমন্বিত কোনও পোস্টের অনুরোধের মাধ্যমে তৈরি করা হয়, তখন টুর্নামেন্টটি BiMap
একটিতে প্রবেশ করানো হয় , ডিএও বাস্তবায়নে নিম্নলিখিত হিসাবে ঘোষণা করা হয়:
private BiMap<String, Tournament> tournaments = Maps.synchronizedBiMap(HashBiMap.create());
যখন কোনও টুর্নামেন্ট তৈরি করা হয়, এর সাথে সম্পর্কিত স্ট্রিং আইডি ফিরিয়ে দেওয়া হয় যাতে ব্যবহারকারীর সেই টুর্নামেন্টের ভবিষ্যতের রেফারেন্স থাকতে পারে। তিনি নিম্নলিখিত অনুরোধটি সম্পাদন করে নতুন টুর্নামেন্ট থেকে তথ্য ফিরে পেতে পারেন:
GET http://localhost:8080/eventscheduler/c15268ce-474a-49bd-a623-b0b865386f39
কিন্তু যদি এই জাতীয় আইডির সাথে কোনও টুর্নামেন্ট না পাওয়া যায়? এখনও অবধি আমি ২০৪ টি প্রতিক্রিয়া ফিরিয়ে দিচ্ছি ঠিক আছে, জার্সিটি এর একটি null
পদ্ধতি থেকে ফিরে আসার সময় আমার জন্য এটি করছে । এটি সেই পদ্ধতি যা উপরের রুটের সাথে সম্পর্কিত:
@Path("/{id}")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Tournament getTournament(@PathParam("id") String id) {
Optional<Tournament> optTournament = tournamentDao.getTournament(id);
if (optTournament.isPresent())
return optTournament.get();
return null;
}
আমার প্রশ্ন হ'ল: কোনও 204: No Content
প্রতিক্রিয়া ফিরিয়ে দেওয়া কি ঠিক হবে , বা এটির 404
পরিবর্তে কোনও প্রতিক্রিয়া হওয়া উচিত , যেহেতু সংস্থানটি পাওয়া যায় নি?
যদি আমি এটিকে 404 এ পরিবর্তন করতে পারি তবে সুস্পষ্ট প্রশ্ন: আমার কি পদ্ধতিটির স্বাক্ষরটি সঠিকভাবে পরিবর্তন করা উচিত? যেহেতু এখন কোনও টুর্নামেন্ট (প্রকারের Tournament
) ফিরে না আসতে পারে, তাই পদ্ধতিটি আলাদা হওয়া উচিত। এর Response
পরিবর্তে আমার কি টাইপটি রিটার্ন টাইপ হিসাবে ব্যবহার করা উচিত ?
{content: ''}
) হয়, একটি 204 প্রতিক্রিয়া অনুপযুক্ত।