Nếu bạn đang tìm kiếm /Resource/Id
và tài nguyên đó không tồn tại, tôi đã luôn luôn mặc dù 404 là câu trả lời thích hợp. Tuy nhiên, khi trả lại null
từ trình xử lý Jersey, tôi lấy lại "204 Không có nội dung". Tôi có thể làm việc với một trong hai, nhưng tôi tò mò với những người khác nghĩ về điều này.Không tìm thấy tài nguyên RESTful. 404 hoặc 204? Jersey trả về 204 khi không được trả lại từ bộ xử lý
Để trả lời câu hỏi tiếp theo của riêng tôi. Để giúp Jersey trả lại 404, bạn phải ném một ngoại lệ.
if (a == null)
throw new WebApplicationException(404);
Chỉ cần lưu ý rằng nếu tài nguyên trống, bạn thực sự muốn trả lại 'null', thì 204 sẽ là mã phản hồi chính xác. –
@MichaelMior Tôi hơi bối rối. không phải là "null" có nghĩa là đối tượng không được tìm thấy ?. Một mảng trống có thể được coi là Không có nội dung nhưng một null có nghĩa là nó thậm chí không tồn tại phải không? –
@RajaAnbazhagan Điều đó thực sự phụ thuộc vào ứng dụng của bạn. –