আমার এক নিয়ন্ত্রণকারীর মধ্যে আমার নিম্নোক্ত কোড রয়েছে:
@Controller
@RequestMapping("/preference")
public class PreferenceController {
@RequestMapping(method = RequestMethod.GET, produces = "text/html")
public String preference() {
return "preference";
}
}
আমি স্প্রিং এমভিসি পরীক্ষার সাহায্যে এটি পরীক্ষা করার চেষ্টা করছি :
@ContextConfiguration
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
public class PreferenceControllerTest {
@Autowired
private WebApplicationContext ctx;
private MockMvc mockMvc;
@Before
public void setup() {
mockMvc = webAppContextSetup(ctx).build();
}
@Test
public void circularViewPathIssue() throws Exception {
mockMvc.perform(get("/preference"))
.andDo(print());
}
}
আমি নিম্নলিখিত ব্যতিক্রম পাচ্ছি:
বিজ্ঞপ্তি দর্শন পথ [অগ্রাধিকার]: আবার বর্তমান হ্যান্ডলার ইউআরএলে প্রেরণ করবে [/ পছন্দ] আপনার ভিউরসোলভার সেটআপ চেক করুন! (ইঙ্গিত: এটি কোনও অনির্দিষ্ট দৃশ্যের ফলাফল হতে পারে, ডিফল্ট দর্শন নাম উত্পন্ন হওয়ার কারণে)
আমি যেটি অদ্ভুত বোধ করি তা হ'ল আমি যখন "সম্পূর্ণ" প্রসঙ্গের কনফিগারেশনটি লোড করি তখন এতে টেমপ্লেট অন্তর্ভুক্ত থাকে এবং সমাধানগুলির সমাধান নীচে দেখানো হয়:
<bean class="org.thymeleaf.templateresolver.ServletContextTemplateResolver" id="webTemplateResolver">
<property name="prefix" value="WEB-INF/web-templates/" />
<property name="suffix" value=".html" />
<property name="templateMode" value="HTML5" />
<property name="characterEncoding" value="UTF-8" />
<property name="order" value="2" />
<property name="cacheable" value="false" />
</bean>
আমি ভালভাবে অবগত যে টেমপ্লেট রিসলভার দ্বারা যুক্ত করা উপসর্গটি নিশ্চিত করে যে অ্যাপ্লিকেশন যখন এই টেমপ্লেটটি সংশোধনকারী ব্যবহার করে তখন "বৃত্তাকার ভিউ পাথ" নেই।
তবে তারপরে আমার কীভাবে স্প্রিং এমভিসি পরীক্ষা ব্যবহার করে আমার অ্যাপটি পরীক্ষা করার কথা?
@RestController
পরিবর্তে ব্যবহার করুন@Controller
ViewResolver
ব্যর্থ হয়ে যাওয়ার পরে আপনি কী ব্যবহার করতে পারেন?